WordPress 3.0 Custom Menu Tutorial

WordPress Custom Menu Tutorial If you’ve upgraded to WordPress 3.0 or above and are using a compatible theme, you’re probably ready to learn about the custom menu for WordPress 3.0 sites! This feature is one of my favorites from the latest big release of the WordPress platform. If you haven’t yet figured it out, check out this tutorial for WordPress Custom Menus.

Getting Started with WordPress Custom Menus

Go to Appearance/Menus on the left side of your WordPress dashboard.

Near the top select a menu from the dropdown, or click ‘create a new menu’ to get started. If you create a new menu, name and save it.

On the left you’ll have three options, Pages, Links, and Categories.

Select your desired pages and click Add to Menu. You can also add custom (external even!) links and categories. Click Add To Menu for each section and see your selections appear to the right.

Next, drag and drop your selections into the order you’d like. You can make some items appear on sub-menus by dragging them slightly right before letting go.

If you’d like to add custom/external links to your WordPress menu, you can do that here as well. Just use the Links section on the left, type in the URL and menu item title, and add it!

Drag, Drop, Repeat!

WordPress Custom Menu Video Tutorial

Using WordPress 3.0-3.5?
Here’s a video for you.

Here are some related WordPress How-To posts you might enjoy!
How to Customize Your WordPress Dashboard
Accept Guest Posts With These WordPress Plugins
Quick Page/Post Redirect Plugin for WordPress
2 Helpful Series for WordPress Beginners
Email Replies to Your Commenters

Ready for more? I have hand-selected some things I think you might enjoy.


  1. Michael says

    Thanks Erica, this all looks great. However, how do I choose to place my menu anywhere on my site? Like for example on a page.php ? What code would I need for this?

    At the moment I get the following message when I enter my menus page in the admin:

    The current theme does not natively support menus, but you can use the “Custom Menu” widget to add any menus you create here to the theme’s sidebar.

    However, while this works with widgets, I'd rather not use widgets and place the menus anywhere I like – is this possible?

    Many thanks,

  2. says


    I'm pretty sure you'll need a theme that's built to accommodate custom menus, but you may be able to find a tutorial out there that will show you how to replace your theme's current navigation with a custom one. The other thing you might do, before switching themes, is ask the developer of your current theme if they plan to make the theme 3.0 compatible any time soon.

  3. Paul W. says

    Hey Erica,
    Do you know how to add a “placeholder” in the menu?
    Say for instance I want one of the “parent” labels on the menu to be “geekness,” which is just for show- it’s not a page, category or external link, and its children are “nerd” (a page), “dweeb” (a category) and “freakazoid” (external link).

    I know how to add the page, category and external link elements to my custom menu, but I thought I heard Matt Mullenweg describe being able to put placeholders in the menus as well in his State of the Word 2010 keynote at Wordcamp San Francisco.

    Just thought I would ask. Thanks for any light you can shed on this!

  4. says

    Adding a placeholder is pretty easy!

    In the custom menu area, where you can add a link to your navigation,
    put in yourdomain.com/#

    The # sign tells the ‘link’ to stay on the page, so this won’t take your
    visitors anywhere.

    Then, add what you want to the menu and drag it up under the placeholder
    you’ve created!

  5. says

    Thanks you so much for this great tutorial! I am new to blogging and WordPress and have been struggling for days with this and your explanation and video made it so easy to understand. Thank you!!

  6. says

    Hey Erica,

    I’m having a problem with my custom nav menu. For some reason it is not showing on the index but if I click on a post it shows up. Any ideas? Here is what I have in functions:

    register_nav_menu( ‘primary’, __( ‘Primary Menu’, ‘ionews20′ ) );

    and in header:

    <?php wp_nav_menu( array( ‘theme_location’ => ‘primary’ ) ); ?>

    • Erica says


      I am not sure on that. Right now I’m just using custom menus on themes that have that ability built in. You might check your theme settings and see if there is something to check for showing the menu on the home page. If you still can’t get it, check the theme author’s site for a help or support forum.

    • says

      Kathleen, I am so glad you found it useful. Every single month it’s one of my top visited posts and it makes me happy to know that my little tutorial helps so many people!

  7. diane says

    Hello Erica,
    I’m not sure what you mean by this:
    Add your desired pages and categories, then head to Appearance/Menus.
    Add them to what please?

    • says

      Under Pages, create pages you’d like to have show up on your menu. Under Posts, create some categories.

      This way when you go to the Menu settings to create a menu you’ll have categories and pages to choose from to build your menus.

  8. says

    Erica, Great Peace to you in Jesus Mighty Name! What a blessing this site is for those of us that are bumbling through some of the fundamentals of WordPress. Thank you for taking the time to share and may the LORD continue to bless the work of your hands.


  9. Dawn says

    Just about the time I thought my head would EXPLODE, I found this video. I simply can’t thank you enough. You have saved me from certain coronary attack. Bless you.

Leave a Reply

CommentLuv badge