My Dream Plugin: A Custom Post Type Template Builder
Custom post types for WordPress have been around for a while now. There are a TON of free and premium plugin options out there to help you create custom post types, custom taxonomies, and custom fields. But where is the plugin to help you build the one thing all of those post types, taxonomies, and fields require in order to be of any use?! I’m talking of course about a custom post type template builder. Which as of right now you will not find a plugin out there that does this in any meaningful way.
This is why I’ve decided to create a fictional “dream plugin” that quickly and easily creates beautiful custom post type templates. I’m hoping that this meager post will inspire at least one (or several) talented plugin developer(s) to help us non-developer types out by making it a reality. But first, I’d like to make sure we’re all on the same page here.
A Bit of Context
Just in case you’re not familiar with custom post types or the reason why a custom post template is required for each one, allow me to provide some context: Every regular post you create has a php file assigned to it by your theme that formats the content you insert into the “Add New Post” section. This file is typically called something like Single.php or Post.php. But when you create a custom post type there is no php file generated to correspond with it and tell your theme how to format that content. So when you go to publish your new custom post type with all it’s wonderful custom fields and taxonomies – it simply appears blank. Not exactly a selling point for all of those custom post type plugins.
Needless to say, for anyone hoping a plugin could help them put the awesome potential of custom post types to use for them, this news is pretty disappointing. Because no matter how great of a plugin you have for creating custom post types, if you can’t create a template too, you’re out of luck. Your only options are to either learn php and create your own template or pay someone else to do it for you.
This is where my dream plugin comes into play. I honestly have NO idea why someone hasn’t created this already – except that a developer friend of mine said it was “complicated” – but if you’re a WordPress developer and you can make this or explain to me why it shouldn’t be made I’d love to hear from you.
My idea is this: we need a plugin for creating custom post type templates that utilizes WYSIWYG editing tools, especially drag and drop. Tools like this already exist for creating landing pages, why not a custom post type template?
How Would It Work?
As I’ve already mentioned there are plenty of plugins out there – both free and premium – that will help you quickly and easily create new custom post types, taxonomies, and fields. Likewise, there are a few plugins – one in particular – that utilizes an amazing drag and drop interface to help you build pages. My dream plugin for custom post type template building is a sort of mashup of these plugins. The two plugins I referenced the most when creating my mockups were Types and Elegant Page Builder.
Here is how I see it working:
After downloading the dream plugin’s zipped folder, installed it, and activated it you would see a new menu appear in your WordPress Admin’s sidebar like the one below.
Clicking on the first sub-option “Custom Fields” would bring you to a page like the one below. This page would contain an archive of all the custom fields, organized by groups, that you have created. To create new custom fields you would have to click on the button “Add a Custom Fields Group” which would take you to the next page.
The “Add New Group” page will have a place where you can enter a group title, description, display parameters, and the fields you want in the group. The available fields menu will contain field options that can be dragged down into the fields section below it and re-arranged to suit the order you prefer. When finished creating your new fields group all you’ll need to do is click save and your new fields will appear within the custom post type you choose (or other display option).
The next option on the sidebar menu is the Custom Post Types and Taxonomies section. When you click this option you will be brought to a page like the one below. On this page, similar to the custom fields first page, will display an archive of the custom post types and taxonomies you have created.
By clicking the “Add a Custom Post Type” button you will be brought to a page like the one below where you will need to provide a name, slug, and description for your new custom post type. Below that there will be a number of settings that need filling out but the really important ones (in this case) will be the ones I have included here. You will connect this new post type to your preferred taxonomies and/or custom post type template(s).
Similarly, when you click on the “Add Custom Taxonomy” button you will be brought to a page that looks like the one below. On this page you will need to do the same things as above – connecting your taxonomies to their corresponding post types and templates.
Now, here’s where things get awesome. Everything you’ve seen so far is pretty EXACTLY what you get when using the Types plugin. It’s the Custom Post Type Template Builder section of my dream plugin that makes it truly special.
Just like the other two sections above, your first page within this section shows you an archive of the custom post type templates you’ve already created. If you’d like to make a new one just click the “Add a Custom Post Type Template” button.
You’ll be brought to a page like the one below. This page is where you choose one of a few starter templates that you will then customize further. These will be recommended or common post templates for popular post types like reviews, recipes, etc. And of course, you will have the option to start off with a “blank canvas”. After you’ve made your selection it’s time to click the “Continue” button and move on to the page where all the real magic happens.
On this page, the Customize Post Template page, there will be four really important sections. The first section at the top is where you will select which custom post type this template is supposed to correspond with. The second section is where you choose basic elements that make up your custom post type’s formatting.
You would be able to drag any element you want down into the canvas area below it. Once there, you would be able to resize the elements as well as click an “edit” button to further customize that element with custom settings such as border line, border weight, color, images, etc.
The third important section is what I’m calling the “Required Fields” section. This is the area in which all of the fields you’ve already created and “attached” to this template are waiting for you to assign them an element to display within.
And finally, the fourth important section, which I’ve already mentioned, is the “canvas” area in which all of the drag and drop editing is done.
For an example of what this plugin would be able to do just check out our premium plugins and/or themes here at WPHub. Each theme and plugin review/purchase page is actually a custom post type.
So that, in a nut shell, is my dream plugin for creating custom post type templates. I realize that it’s not exhaustive by any means in it’s explanation of HOW all of its features will work, but as I said, I’m talking about the experience I want as a user, not the code that makes it all possible.
Also, as I mentioned at the very beginning of this post, there are currently no plugins available that do this in any real, meaningful, way. But what exactly does that mean? It means, that there is in fact a plugin that sort of does what I’m looking for – but not really. It’s overly complex, NOT drag and drop, and most importantly it results in a REALLY ugly looking template. The plugin I’m referring to is by the same people who developed Types. Their template plugin is called Views, and I’m certain that if you check it out you will agree with me that it leaves much to be desired from a usability and design point of view.
But that’s just my opinion. What do you think? Would you like a plugin like the one I’ve dreamt up? Is it even possible? Am I crazy? Let me know in the comments below!