我们在有一些业务设置的过程中,需要用到前端用户访客和登陆用户的显示菜单不同,这个是如何设置的?其实,这个可以在WordPress设置两组菜单,然后通过脚本状态切换。
function le_wp_nav_menu_args( $args = '' ) {
if( is_user_logged_in() ) {
$args['menu'] = 'logged-in';
} else {
$args['menu'] = 'logged-out';
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'le_wp_nav_menu_args' );
创建2个菜单之后,设置切换。
如果我们希望针对主题创建的特定菜单位置,可以用这个:
function le_wp_nav_menu_args( $args = '' ) {
if( is_user_logged_in()) {
if( 'top-navigation' == $args['theme_location'] ) { // Change top-navigation to theme specific name
$args['menu'] = 'logged-in';
}
} else {
if( 'top-navigation' == $args['theme_location'] ) { // Change top-navigation to theme specific name
$args['menu'] = 'logged-out';
}
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'le_wp_nav_menu_args' );
具体根据代码微调,对应你的菜单名称。
原创文章,转载请注明出处:https://www.itbulu.com/wp-login-menu.html


















