If you’re unfamiliar with its hooks, Genesis can be a bit tricky to edit. Recently, we had to add a secondary menu to theme, and this is how we did it. We needed to add a second menu underneath the primary menu which was in the header. Here’s the code for it.
First register the menu:
// add second menu if ( ! function_exists( 'xyz_register_other_navigation_menus' ) ) { // Register Navigation Menus function xyz_register_other_navigation_menus() { $locations = array( 'secondary-nav' => __( 'Second Nav Menu', 'Not Any' ), ); register_nav_menus( $locations ); } // Hook into the 'init' action add_action( 'init', 'xyz_register_other_navigation_menus' ); }
Next, create the secondary menu and output it in the desired place using the genesis_after_header hook.
add_action( 'genesis_after_header', 'xyz_genesis_secondary_nav', 20 ); function xyz_genesis_secondary_nav() { $args = array( 'menu' => 'Second Menu', 'menu_class' => 'menu genesis-nav-menu menu-secondary responsive-menu', 'container_class' => 'wrap' ); echo '<nav class="nav-secondary">'; wp_nav_menu( $args ); echo '</nav>'; }
If your menu doesn’t show up quite where you want it, experiment changing the integer (20 above) to a higher or lower number depending on if you want it after or before where it outputs.