A visitor to your website is more likely to look at the navigation menu and logo area before anywhere else on your home page. So when it comes to the navigation menu, first impressions are utterly important. As the single most important feature of your website, the menu bar deserves careful planning and attention when designing.
This post is basically a lowdown on the WordPress menu: what makes it tick, where it lacks, and where it totally misses the mark.
Let’s start with the bad.
The WordPress Menu: The Bad
By and large, the default WordPress menu is a simple affair and it perfectly fits with what the creators of WordPress intended the system to be – simple to use. By default, WordPress automatically populates the menu when you add static pages to your site (go ahead and create a static page on a fresh WordPress installation to see this in action).
However, for all its simplicity, this is actually a bad thing because it is limiting. When the menu is populated automatically, you don’t have control over the order in which individual menu items are displayed. You might have noticed also that every static page created will appear on the menu and yet you may not want all pages to appear on the menu. Lastly, a menu that is automatically populated contains only static pages and no posts.
Obviously this is limiting and you should never design your blog this way. However, WordPress is a flexible system so you can expect that there’s a way out, which brings us to the good part.
The WordPress Menu: The Good
While the default menu may be limiting, you can depend on WordPress to give you a way to get exactly you want. In fact, if you know how template tags work, you can have total control of how your menu works (and many other features). However, our focus here is to make the menu do what we want in a user friendly way. That means creating the menu visually in the admin panel and this is where WordPress shines. It offers a powerful way to create and manage your menus visually although this may not be apparent initially.
First, you need to create the menu: Appearance > Menus. Provide the menu name and click the Create Menu button. Then, you can create the individual menu tabs from the options on the left – i.e. Pages, Links, and Categories. It’s pretty straight forward. If you’ve created static pages, they will show under the Pages tab when clicked.
If you want a page to be a menu tab as well, simply check the box beside it and click on the Add to Menu button.
Next, you can create a menu tab as a direct link under the Links option.
The link may be redirecting to an outbound site or it may be an anchor tag linking to a particular spot within your site. The choice is yours.
Finally, the Categories option works in a similar fashion to the Pages option; all posts you’ve created under a particular category will appear as an archived list in that particular category.
You can make that category a menu tab by checking the relevant box and clicking on the Add to Menu button.
Creating sub-menus is a matter of clicking and dragging, with a slight indent to the right.
Once you’ve created your menu (or menus), you can determine where on your pages to display them. Almost every theme out there supports at least one menu location. The TwentyThirteen theme that I’m using for the screenshots supports one menu location.
Even if your theme doesn’t support multiple menu locations, you can easily add that support by adding a few lines of code into your functions.php file.
However, the easiest way to add another menu location to your theme is by creating the menu as a sidebar widget. Just choose a sidebar of your choice and drag a menu widget onto it. Choose a name for the widget and select a menu to display (you should have created the menus already), and that’s it.
That’s a really powerful way to control what appears on your navigation menu and in what order. This is called a custom menu, all built using the Menus feature on the dashboard.
That being said, you might have noticed still that the built-in custom menu feature is somewhat lacking as well, which brings us to the ugly part.
The WordPress Menu: The Ugly
While the default menu style is a simple drag and drop affair, you can only use the predefined options of Pages, Links, and Categories as your menu item links. What if you wanted a menu tab to be something other than those three, say a search bar? Obviously, the default Menu feature doesn’t allow us to add a custom item. For a user who is only familiar with the front-end side of WordPress, this is definitely limiting.
There’s certainly a workaround but you need to be familiar with how to use hooks and filters, which many WordPress users aren’t familiar with.
We’ve seen that the default way WordPress creates menus automatically can be rigid. We’ve also looked at the much better alternative it offers through custom menus built using the powerful visual Menus feature.
Finally, we’ve also seen a potential limitation of the visual menu builder. Hopefully, you have a better appreciation of the strengths and weaknesses of the WordPress menu and how to work around the shortcomings. Plan your menu in advance. Create pages and categories and then decide on how you want users to access them.
What do you think about the WordPress menu? Do you find it straightforward, confusing, or lacking? I’d love to hear your thoughts!