My problem is that wordpress isn't showing the two menu's as separate menus, it just outputs on menu to both positions.

URL: http://www.msc-media.co.uk

Check the header and footer for the links - I know the footer is ugly, need to sort out the css later.

I've created two menus in the functions.php with this code.

    register_nav_menus( array(
        'topmenu' => 'Top Menu',
        'footermenu' => 'Footer Menu',
    ) );


I've then called these menu's in my footer.php and header.php with this code:

<?php wp_nav_menu(array('menu' => 'footermenu')); ?>
<?php wp_nav_menu(array('menu' => 'topmenu')); ?>

This is my back-end config with wordpress, getting the top menu to show 4 links, and the footer to display two. With the positions correctly appointed.

enter image description here

Can anyone explain what is wrong with this? - I'm stumped and I've searched the WP codex/forums for hours now.

1 Answer 1



<?php wp_nav_menu(array('theme_location' => 'footermenu')); ?>
<?php wp_nav_menu(array('theme_location' => 'topmenu')); ?>

See http://codex.wordpress.org/Function_Reference/wp_nav_menu

  • Worked perfectly, what are the differences between 'theme_location' and 'menu'? May 15, 2012 at 22:55
  • 2
    @MChandler Menu accepts the slug of the menu you've created. Theme location accpets a registered theme location. The user can then create a menu, and assign to one (or more) locations, where it will then appear. In theme development, you should never use the 'menu' attribute. May 15, 2012 at 23:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.