How to Create WordPress Custom Nav Menus with Menu Manager Plugin

Last updated on

Update 08/05/2010: The custom navigation function is now built into WordPress 3.0++, so you can ignore the tutorial below.

Instead, see this tutorial:

How to Create WordPress Custom Navigation Menus.

With most WordPress themes, your site navigation menu is based on your pages. For each page, a link is created in the navigation menu, and the link text is based on the title you choose for the page. This method of creating a site navigation menu is inferior for many reasons, some of which are these:

1. It doesn’t allow you to include 1 or more category pages in your nav menu.
2. It doesn’t allow you to exclude 1 or more pages from the nav menu.
3. It doesn’t allow you to include links to an external site in your nav menu.
4. It doesn’t make it easy for you to control the order of the links in your nav menu.
5. It doesn’t allow you to use navigation link text that’s different from the page title.

To deal with such issues, I’ve seen some WordPress theme developers who are building a custom navigation menu function into their themes. At first glance, this seems like a great feature to include in a WordPress theme, and I’ve considered it for Solostream themes.

Ultimately, though, I decided against it, because what happens when you decide to change your theme? Once you move to a different theme, your navigation structure is toast. It’s great for the theme developer, because you’re less likely to switch to a competitor’s theme, but it limits you as the user.

That’s what I love about the Menu Manager plugin. It gives you complete control over your navigation menu without locking you into using a specific theme. With Menu Manager, you can include or exclude any page or category you like. You can also create links to external pages if you like.

As far as the link text, you can make it whatever you want. So, if you have a page with the title “Learn a Little More About Me,” you can just use “About” as the navigation link. Further, there’s a drag-and-drop function that allows you to order you navigation links any way you choose.

Here’s a short video tutorial showing how to create your navigation menu with Menu Manager.

Update 08/05/2010: The custom navigation function is now built into WordPress 3.0, so you can ignore the tutorial below.

Instead, see:
Solostream Themes and WordPress 3.0 Menu Management Function.

Here’s the code I used in the video to install the Menu Manager plugin:

<?php /*If Menu Manger is activated, run it */ if (function_exists('mm_menu')) { ?>
<?php mm_menu(); ?>
<?php /* If Menu Manger is not active, run the usual navigation code */ } else { ?>
<?php wp_list_pages('title_li='); ?>
<?php } ?>

About the Author (Author Profile)

Solostream provides Premium WordPress themes that are professional and easy to use. Templates suitable for personal or business blogs, websites and online magazines.

Comments (48)

Trackback URL | Comments RSS Feed

  1. This is what wanted , Thanks

  2. Ron says:

    There were some initial challenges, but the final menu looked great. Thanks for the great plugin.

  3. I am looking at using Menu Manager, but the drag-n-drop functionality is not working on IE9, Firefox 9.0.1 or even Safari. Is there a way without DND to build the structure of the menus? Or is there a fix to the DND issues?


  4. Really great stuff. As i am going to start blogging. So, this post is really helpful for me.

  5. Rick says:

    I have a very simple question regarding drop down menus.
    How can I have my menu HEADER display the drop down list without the HEADER itself being clickable?
    I only want the dropdown items clickable.
    Hopefully my question is clear.
    Best regards,
    Rick Davis

  6. Amie says:

    Thank you very much for the tutorial – it’s working perfectly for me with Panorama 2.1 and WP 3.1. The plugin doesn’t seem to have any documentation associated with it any longer so your video post is much-needed! Thanks again.

  7. Popa Andrei says:

    I cant manage to make the dropdown menu work on imperial theme.Any help?

  8. wale says:

    Thanks for your plugin! I used a category as menu and my question is; how do i remove “Category Archives:(name of category)” that appears at the top of the category page?

  9. Rahul says:

    Great article this is very useful to all normal user who want to make blog own way.

    Thanks for sharing

  10. Manali says:

    Hi, thanks for this. I activated the Mystique theme because I wanted some custom menus. But the theme has only 1 menu. Now, I’m searching for other themes and my question is this: Before activating a theme, how can I make sure it has more than 1 menu option?

    Coz in the description and previews and everything, even Mystique showed multiple menus. I don’t want to bother activating something and then finding out it has only 1 menu.

    Thanks for your time.

  11. carl says:

    how to create a navigation link which has all the posts i have? what i can only see in menu manager are Page, Categories and Custom Links. Please help


  12. Iwona says:

    Thank you so much!! It’s outstanding job you do. Thanks.

  13. Trish says:

    I’d like to use the Menu Manager but I have no coding experience – below is the code from the Navigation.php for my theme (Affiliate Theme by Unique Blog Designs) – where would I insert the code you recommend above so that my new menu is visible vrs the current one?

  14. linda says:

    i am using thirty ten theme and i didn’t find in my header.php. so i don’t know where to put the code you have mention here.

  15. Tyler KB says:

    I’d love to integrate dynamic menu highlighting using something like a conditional “current_page_item” id on the menu s that I can use as a CSS selector to highlight the current page in the nav menu. Am I missing something that’s already built in to facilitate this? If not, do you have any plans to add this to the MM plugin?

  16. Soweto says:

    I’m having trouble with the menu in the Mystique theme. Is there a different code I need to put in?

  17. Soweto says:

    I can’t get this to work correctly in the Mystique theme.

  18. Soweto says:

    I was trying to use this menu in the Mystique theme but the menu shows up like regular text with bullets one under each other.

  19. Tom Piggott says:

    Hi, thanks for the tutorial. I’ve made my navigation system and got my pages ordered correctly. The only thing is, the splash / home page has disappeared! How can I get this back as I can no longer navigate to the home page where everything is being posted!

    Would it be easier to re-route my posts to a different page? ie. one that I have just created?

    Any help would be greatly appreciated.

    This is the address of my site:

    Thanks in advance,


  20. AA says:

    It works great except on thing. The drop down does not appear to be working with WordPress 3.0
    There is supposed to be drop down items under Blog

    Any advice

  21. C says:

    Hi, I did this and it worked great- except for one thing. Under one of the ‘customs’ I added a subpage and it’s visible all the time (shows up under the custom). Can I hide it so it’s only visible when i roll over the custom?

  22. Jerry says:

    Mike, does the coding that you posted work for Sublime also?

    • Actually, it would be a little different. Find this code:

      <?php if ( $wp_sublime_hide_home_link == 'no' ) { ?>
      <li><a href="<?php bloginfo('home'); ?>">Home</a></li>
      <?php } ?>
      <?php wp_list_pages('title_li='); ?>

      Replace with this:

      <?php /*If Menu Manger is activated, run it */ if (function_exists('mm_menu')) { ?>
      <?php mm_menu(); ?>
      <?php /* If Menu Manger is not active, run the usual navigation code */ } else { ?>
      <?php if ( $wp_sublime_hide_home_link == 'no' ) { ?>
      <li><a href="<?php bloginfo('home'); ?>">Home</a></li>
      <?php } ?>
      <?php wp_list_pages('title_li='); ?>
      <?php } ?>

  23. Dennis says:

    Wow, wouldn’t you know it. I was really in need of a plugin like this. It’s like you are psychic! :)

  24. kathryn says:

    Hi All, I’m not having an luck with this plugin, and now my menus are awry – it’s all under “Home” – – try IE and Firefox, they look very different.

    Anway, my code is below. I see the code you’re adding, but I can’t (squinting at the video) figure out what code you’re pulling out. So after cutting and pasting, this is what my header code looks like:

  25. M Kruegel says:

    THANK YOU! This is my first blog that I’ve designed and am trying to build and your plugin and video have been the easiest part! I am so excited! Now, if I can just figure out my missing 2nd sidebar. Do you have any videos about that? :)

    Thanks again,

    • My pleasure Michele. Glad it was helpful. It looks like you’ve maybe figured out how to get that second sidebar to show up. If not, my best advice would be to check with the theme creator.

  26. Your video is so much usefull for me.. thank’s…

  27. David Cary says:

    Outstanding Michael! Worked the first time…thank you, thank you.

  28. Kel says:

    This is a pretty cool plugin, however I understand per Jane Wells that WordPress 3 will ship with the Woo Menu Navigation system.

    Will Solostream support this new woo menu by default?

  29. Thanks michael.. Nice video and posts.. Good Luck..

Leave a Reply

No Theme Support Questions Please

We will not respond to theme support questions submitted via this form.. If you've purchased one of our themes or a Premium Themes Membership, please visit the Solostream Support Forum for support questions. To do so, login to the Solostream Member's Area, and click the link for the Solostream Support Forum.