Php 如何编辑此代码,使其仅影响wordpress站点的顶部菜单而不影响主菜单?
我正在使用OceanWP主题创建我的网站 我有两个不同的菜单在我的主页上,我有一个顶部菜单,我也有一个主菜单 我希望顶部菜单为登录用户和注销用户显示不同的选项 我已经使用了我放在functions.php文件中的以下代码。我还为登录和注销用户创建了两个不同的菜单:Php 如何编辑此代码,使其仅影响wordpress站点的顶部菜单而不影响主菜单?,php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,我正在使用OceanWP主题创建我的网站 我有两个不同的菜单在我的主页上,我有一个顶部菜单,我也有一个主菜单 我希望顶部菜单为登录用户和注销用户显示不同的选项 我已经使用了我放在functions.php文件中的以下代码。我还为登录和注销用户创建了两个不同的菜单: if( is_user_logged_in() ) { $args['menu'] = 'logged_in'; } else { $args['menu'] = 'logged_out'; } return $args; } ad
if( is_user_logged_in() ) {
$args['menu'] = 'logged_in';
} else {
$args['menu'] = 'logged_out';
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );
它似乎可以为登录和注销的用户显示不同的菜单,但问题是它也会更改主菜单和顶部菜单
prntscr.com/podv5e
我希望主菜单保持不变,只是让顶部菜单根据用户是否登录而改变
我想知道是否有办法修改代码,使其只影响顶部菜单而不影响主菜单?检查
主题位置
参数以匹配正确的导航
我下载了OceanWP的免费版本,在functions.php中,您有这段代码
// Register navigation menus
register_nav_menus( array(
'topbar_menu' => esc_html__( 'Top Bar', 'oceanwp' ),
'main_menu' => esc_html__( 'Main', 'oceanwp' ),
'footer_menu' => esc_html__( 'Footer', 'oceanwp' ),
'mobile_menu' => esc_html__( 'Mobile (optional)', 'oceanwp' )
) );
所以你想把目标锁定在“topbar\u菜单”嗨,乔丹·考利,谢谢你。我只是有点不确定主题位置是什么?在哪里可以找到?@Jas在主题中,注册导航的地方将有特定导航区域的名称,您还可以打印$args以查看页面上显示的不同值。如果不查看主题代码,很难了解更多内容。非常感谢:)我已尝试将topbar_菜单添加到代码中,但它仍然不适用于我。我想我可能没有正确地使用它。我在代码前面添加了if($args['theme_location']='top menu'){,我只是想知道我会用'top bar_menu'替换哪个部分?