Update 13 Sept 2010: As of WordPress 3.0 this plugin has become a bit redundant because WordPress has built in some pretty cool menu creation features. This plugin still works and should do so in future versions of WP so you can still use it if you like this way of doing it. To learn more about the new menu features in WP, I refer you to this tutorial by Justin Tadlock
As well as being the leading blogging platform, WordPress is also one of the most flexible and easy to use general purpose content management systems for a wide variety of websites. However, one important CMS feature that is missing in the ‘out of the box’ installation of WordPress is a navigation menu management interface. A number of attempts have been made at plugins to address this need but most have been overly complex or cumbersome in some way so I have always coded my own navigation systems into my website templates.
After experimenting with a few different approaches for building navigation menus for a number of different websites, I discovered that WordPress actually does have an interface for managing navigation menus – well ‘sorta’… I found that one good approach to creating navigation menus that could be easily managed by my clients is to use WordPress’s built in links management interface. All it takes is a few lines of PHP code in the header template file to utilise the links navagation interface for the purpose of managing the website navigation menu. I have used this approach for building single level and multiple level navigation menus.
Now I have turned this approach to navigation menus into a simple plugin. This initial version adds the template tag ‘show_nav()’ which generates a single level navigation menu from the links contained in a ‘nav’ category. It is intended for use by users who create or edit their own templates. A multi-level version may follow.
- Is this plugin for me?
If you create or modify your template (theme) files and know a little CSS – Yes. If you’ve never opened a template file – maybe not this version, but soon I may do a version suitable for ‘non-template’ editing people too.
Version 0.4 (21 Aug 2009)
Updated so that class=’current’ gets added to nav link when on a child page as well as when on the page itself
Version 0.3 (13 Jul 2009)
Added option for seperator
Version 0.2 (23 Apr 2009)
Added before and after HTML snippet capability and the option to display menu as unordered list
Initial release – single level navigation only