You’re _doing_it_wrong()
. When you call wp_nav_menu()
, you should be referencing theme_location
, not menu
.
The way the custom navigation menu functionality is intended to work:
- The Theme registers locations for navigation menus to appear, via
register_nav_menus( array( 'location_slug' => 'Location Name' )
. - Then the Theme instructs WordPress where to output those menus, via
wp_nav_menu( array( 'theme_location' => 'location_slug' ) )
. - The user defines the menu itself, via the UI at
Dashboard -> Appearance -> Menus
- Then the user assigns a defined menu to the Theme-registered locations, via that same UI.
So, by calling menu
instead of theme_location
in your wp_nav_menu()
call, you prevent the user from assigning a menu to that location. Very likely what’s happening is that the user hasn’t defined a menu with the name you’re calling via the menu
argument, and so WordPress is simply falling back to the default wp_page_menu()
output.
Once you correct this issue, then you can define a menu with whatever links in it that you want, and then assign that menu to the appropriate location.