Version 1.1.0 of my Custom Post Type Auto Menu plugin is out, and I am happy to say it now handles multiple custom post types. This is a feature that was requested, and frankly does make a lot of sense. It took quite a bit of reconfiguring, so any previous users of the plugin will have to re-do their settings in order to make it work, even if they just update it (sorry about that!). But with only a single custom post type, that is an easy fix.
In the announcement post I explained how the plugin works. It is still basically the same, except that multiple post types, and therefore multiple menus and parent menu items can be selected.
In this example three custom post types have been chosen: Motorycle, House and Project. After selecting CPTS’s it is neccessary to save in order to launch the Menu Settings tab.
NOTE: The plugin has been updated since this post to handle multiple custom post types. This article still gives the basics but the settings have changed since then. Read about it here.
While working on a recent site, I realised that a simplified method for adding a new custom post type post to a menu was needed for the sake of the clients, who are not used to working with a CMS. In this case, the ‘Projects’ custom post type is used to encapsulate all the photos and information they would like to display related to each of their construction projects. The projects are listed on the ‘Projects’ page and displayed in the corresponding menu.
(Okay before anyone objects too loudly, I know WordPress does not have an MVC architecture, and I know this example isn’t really what MVC is all about. But please bear with me.)
One of the tenants of the Model-Controller-View software architecture is that logic is separated from the views. This is not unlike separating style from content in html. In MVC, views are the files that the user interacts with.
Now that Andrew Nacin has announced that WordPress 3.4 will allow page templates to reside in subdirectories, I am finally going to be able to organize my theme directories with headers, footers, sidebars and page templates all sitting in their own respective directory.