Last active
April 22, 2021 11:48
-
-
Save srikat/5d40d43cd2df122fed41 to your computer and use it in GitHub Desktop.
Showing a different menu in Primary Navigation location conditionally in Genesis
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thank you, it worked perfectly. I replaced
is_page
with!is_front_page
because I needed a different menu for all pages but the front page.