设定WordPress前端登陆用户和游客的菜单不同

我们在有一些业务设置的过程中,需要用到前端用户访客和登陆用户的显示菜单不同,这个是如何设置的?其实,这个可以在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

上一篇 1天前
下一篇 2015年1月20日 10:29