我正在尝试根据访问的页面更改主菜单和次菜单中的菜单。
我的主菜单位于页面顶部,它如下所示:
索引|关于|联系人
我的第二个菜单是一个下拉菜单,在标题下,它如下所示:
编写新的|帮助|配置文件|
所以,问题是,例如,每当你访问个人资料时,我都想更改我已经创建的其他人的两个菜单。
所以在阅读中,我发现了一些东西,但它根本不起作用:在文件函数中。我添加的php:
add_filter( \'wp_nav_menu_args\', \'my_wp_nav_menu_args\' );
function my_wp_nav_menu_args( $args) {
if( is_page(\'2\') ) {
$args[\'menu\'] = \'Original Menu\';
} else {
$args[\'menu\'] = \'Menu for Profile\';
}
return $args;
}
它可以工作,但它会用“配置文件菜单”更改主菜单和次菜单,我只希望它用于主菜单。我尝试添加[\'theme\\u location\']=“primary”,但它会使两个菜单都消失。
我希望你能帮助我,谢谢。
最合适的回答,由SO网友:Pieter Goosen 整理而成
您很可能错误地使用了主题位置部分。下面是一个应该如何做的示例
按照代码中的注释进行解释:-)
add_filter( \'wp_nav_menu_args\', function ( $args )
{
if ( is_page( 2 ) //Only target page 2
&& $args[\'theme_location\'] === \'primary\' ) { // Check and only target the primary menu
) {
$args[\'menu\'] = \'Menu for Profile\';
}
return $args;
});