10h30
4/16/2015 - 1:12 AM

Showing a different menu in Primary Navigation location conditionally in Genesis

Showing a different menu in Primary Navigation location conditionally in Genesis

<?php
//* Do NOT include the opening php tag

add_action( 'genesis_before', 'sk_replace_menu_in_primary' );
/**
 * Conditionally replace Custom Menu in Primary Navigation.
 *
 * @author Sridhar Katakam
 * @link http://sridharkatakam.com/conditionally-replace-navigation-menu-genesis/
 */
function sk_replace_menu_in_primary() {

	if( is_page( 'about' ) ) { // Put your conditional here
		add_filter( 'wp_nav_menu_args', 'replace_menu_in_primary' );
	}

}

function replace_menu_in_primary( $args ) {
	if ( $args['theme_location'] == 'primary' ) {
		$args['menu'] = 'About Page Menu'; // Name of the custom menu that you would like to display in Primary Navigation location when the condition in earlier function is met
	}
	return $args;
}