4
    <?php
    if ( function_exists('has_nav_menu') && has_nav_menu('primary-menu') ) {
        wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'main-nav', 'menu_class' => 'nav fl', 'theme_location' => 'primary-menu' ) );
    } else {
    ?>

I'm trying to add a secondary menu from Wordpress menu management in my functions.php of my child theme for Woothemes Canvas. I figure there's a way to add it to the array above but I can't get it to work. Thoughts?

Danger14
  • 760
  • 2
  • 12
  • 33
Jason
  • 7,612
  • 14
  • 77
  • 127

2 Answers2

6

Jason, you first need to register your 'new' (secondary) menu with register_nav_menu() like:

add_action( 'init', 'register_my_menu' );

function register_my_menu() {
    register_nav_menu( 'secondary-menu', __( 'Secondary Menu' ) );
}

You do this in your theme's functions.php file.

Then you're able to call that menu in your template files. To use your code above, you'll probably want something like:

if ( function_exists('has_nav_menu') && has_nav_menu('secondary-menu') ) {
        wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'secondary-nav', 'menu_class' => 'nav fl', 'theme_location' => 'secondary-menu' ) );
    }

or maybe

if ( function_exists('has_nav_menu') && has_nav_menu('primary-menu') && has_nav_menu('secondary-menu') ) {
        wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'main-nav', 'menu_class' => 'nav fl', 'theme_location' => 'primary-menu' ) );

        wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'secondary-nav', 'menu_class' => 'nav fl', 'theme_location' => 'secondary-menu' ) );
    }

The second one will output both menus if they both exist, the first one will probably be used in addition to the one you posted in your initial question.

RichardTape
  • 20,865
  • 5
  • 24
  • 29
0

But in my case, I did not use the init action, just put the menu register function in my child theme's function.php file

register_nav_menu( 'footer', 'Footer Menu' );
Nahid
  • 2,911
  • 1
  • 20
  • 17