A major new addition to WordPress 3.0 were custom menus. This gave you the ability to have full control over your menus, and removed the need for several plugins that performed various functions such as excluded pages from the menu, set pages to auto redirect to a custom link and my own page menu editor, which allows you to edit the menu label and title attribute to be different from the page title. It also removes the need for setting up ordering using the menu order option in the page attributes (and then deciding to insert another page and having to reorder all pages after it!).

Custom menus are so simple to set up with just a few lines of code needed to get started, and then you can make use of the Appearance -> Menus section within the admin. A simple drag and drop system which allows you to create menus consisting of page, post, category, custom post type, custom taxonomy and custom links. It's so much more flexible.

To get started with custom menus I recommend reading Justin Tadlock's tutorial which tells you everything you need to know – WordPress custom menus. Well, almost everything, there is one item missing from his tutorial (although it may have been added since I last read through it), which is how he has the CSS class, link relationship and description showing in his second screenshot. To get this you need to open up the screen options section up at the top of the screen and you'll see the extra boxes that you can tick to display (or not as the case may be).

We now use custom menus on every new site we set up, and we even use one for the site map as it makes more sense to do so. If you've not already started using them then I highly recommend learning and switching to them.

Trackback URL for this post: http://www.stuffbysarah.net/2011/08/22/wordpress-custom-menus/trackback/
  • Tim Smith Comments:

    Hi Sarah, great informative blog, thank you!

    A question – how do you go about placing particular custom menus to appear on specific pages?

    Cheers!
    Tim.

  • Sarah Comments:

    Hi Tim,

    You'd need to create a page template and then just drop the code to display a custom menu into the content area of the page template. We've done this for site maps quite easily :)

  • Maryna Smuts Comments:

    Hi Sarah,

    I'm trying out your plugin and am wondering if there's a way to assign a menu name to the Blog page and have a different title page name?

    Setting up different menu names and title page names works beautifully for all other pages, but I can't figure out how to do it for the Blog page.

    I do basic WordPress setup for my clients using the Thesis theme. In this instance, my client is using the WordPress menu configuration rather than the Thesis setup. There is a field in the WordPress menu to set a different title, but it doesn't seem to be working.

    Thanks for your help – I truly appreciate it.

    Maryna

    • Sarah Comments:

      Hi Maryna, my plugin won't work if you're using the WordPress custom menus as this uses a different function. If you're setting the blog page title as something other than its usual title and it's not showing up on the front end have you checked that the custom menu code is actually there and correct?

  • Leave a Reply

    Your email address will not be published. Required fields are marked *