July 6, 2014 / IST / How-to Guides, Tips & Tricks.

Stop setting pages to draft to hide them from your WordPress menu. Learn to take full control of the navigation menus on your WordPress site!

Gone, in fact… long gone, are the days where we need to hack the WordPress menu in order to remove “menu entries” from showing up.

When done right (by the theme developer) we have the ability to fully customize the menu, using a very simple interface in the WordPress dashboard. In fact, we can add entries to the menu linking to just about any page… including category and tag archives, posts, pages of course, and custom links. In this post and the accompanying video, I will show you how.

First, login to your WordPress Dashboard so that you can follow along.

Then head over to the Menu interface by clicking Appearance >> Menus.

Once in there, click the Screen Options tab hanging at the top of the page. Put checkmarks in everything there that way you can see all of the available options to you.

The Manage Locations tab will give you a quick indication of how many menus your current theme supports. Hopefully you have at least one. If there are zero, then you are using a very very old (or perhaps broken) theme. Get a new one.

The theme name or “location” will show up on the left side. This is the naming convention used by the theme developer. Hopefully it is named in such a way where it is obvious where the menu will show up on the site. If not, once we start adding entries it will be obvious.

Odds are you won’t have any existing menus to assign to this “menu location” so let’s create a new one now.

Creating a new menu in WordPress

Below are the steps for creating a new menu in WordPress.

  1. Click Appearance >> Menus.
  2. Make sure that you are on the Edit Menus tab.
  3. Click the “create a new menu” link.
  4. Give the menu a name, and click the Create Menu button.
  5. Under Menu Settings you can assign this menu to any of the locations defined by the theme. Pick one of the locations.
  6. Here you can also decide to “Automatically add new top-level pages to this menu” but I think we are trying to customize things here so leave that box empty.
  7. Now, from the left side you can choose menu items to add to the Menu Structure area. (see below for more information)
  8. After adding menu items, be sure to click the Save Menu button or else they won’t “take.”
  9. Visit (and refresh) the homepage of your WordPress site to see the menu in action.

Adding new entries to the WordPress menu

Alright, in a previous step we selected all options from the Screen Optionstab so we have plenty that we can add to the menu.

By default only areas with “existing content” will be shown. For example, in the “categories” section you will only see categories that actually have posts in it. If you want to add an empty category to the menu (because you anticipate it will have content soon) then click the “View All” link rather than the default “Most Used.” There’s also a “Search” option but is anyone’s site that big where that would need to be used?

You have the option to add the following items to the menu:

  • Pages: this is straightforward, and will likely be the most frequently used.
  • Posts: you can actually link directly to any of your posts from your WordPress menus.
  • Links: this is for custom links to any URL. Many people use it to create a link back to “Home” in their menu.
  • Categories: link direct to any category (or child) archive page.
  • Tags: if you want to link to tag archives, by all means, do so.
  • Format: um, I don’t know. Skip it :)

OK, now… once an item is added to the menu (by putting a check in the box and clicking Add to Menu) you have lots of options to manipulate the menu and the menu item.

First, you can drag and drop the placement of each menu item. Also, you can indent menu items below other menu items (creating sub menus) to as many levels as your theme supports.

By default, the menu “label” will be the page name (or category name, etc) but you can modify it. Just click the down arrow on a menu item to make your changes. Here you can change the “Navigation Label” as mentioned, you can add a “Title attribute,” decide whether the link should open in a new tab/window, apply a “CSS class” (a little more advanced), add a “link relationship” (use “nofollow” for affiliate links for example), and you can also add a description (this isn’t always shown on the site – depends on the theme).

You can also “Remove” this menu item by clicking the “Remove” link.

Again, be sure to Save your menu after all changes are made or else they won’t stick. Even though the menu appears “changed” in the interface, it won’t be changed on the site until after the “Save Menu” button is clicked.

And that is ALL there is to navigation menu manipulation in WordPress.