The WordPress custom menu functionality was introduced into WordPress in version 3.0. It was a result of some great work done at WooThemes as part of their WooFramework of which the WordPress core then adopted. This was a great example of how open source projects have and can thrive – the result in this case is an excellent, flexible menu system.
There is only so much that WordPress can contain in core however – if every requirement was convered and everybody got their own way then it would be a sprawling CMS that nobody would know what to do with.
So, enter stage left – plugins. There are two excellent plugins that regularly I use to add subtle but what I consider essential functionality to both the UI and the UX of websites I create.
1. Menu Rules
The first one is an excellent plugin by Phill Brown. As Phill puts it:
In WordPress there’s no way to apply context to the menu system. Menu Rules solves this problem and gives you a framework to write your own menu extensions.
In other words he has built a plugin that allows to place conditional rules around the current page menu items. So ,if you have a top level menu item called Products and you wish to keep this item highlighted on a single product (even if the product isn’t in the menu) then you can set the conditional in which to do that.
WordPress provides classes such as current page item and. current page ancestor for CSS styling but this provides a conclusive method of ensuring consistsncy across the site and improving the user’s experience.
The second plugin allows you to add further conditionals to menu items as to whether the user is logged in or not. For example, if you are logged in you do not want to see the login button again, nor do you want or need to see a registration link.
Similarly if there are pages exclusive to users that are logged in then you these should not be shown if the user is not logged in. Again this is an excellent plugin for keeping the user interface clean as well as preventing users from visiting pages that they are mot meant to see.
I’m not a huge advocate of using lots of plugins on sites I build so I tend only to use ones that i think add real value as well as speed up my delivery times without compromising the quality. I hope you find these plugins useful too.
Posted on June 26, 2012 in WordPress