如果我们在有需要设置不同的会员等级显示不同的菜单显示的时候如何设置呢?最近老蒋就有遇到这样的客户需求,他需要普通用户和会员用户在菜单上要显示不同的类目。这里找到这个解决办法记录下来,如果我们以后也有类似的需要可以参考。
1、创建新的菜单
这里我们创建一个新的菜单,代表是登录状态的。
2、代码部分
function wpc_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', 'wpc_wp_nav_menu_args' );
如果我们需要定位由主题创建的特定菜单位置,则可以使用以下方法:
function wpc_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', 'wpc_wp_nav_menu_args' );
就是这样,我们可以看到已登录的访问者将看到登录菜单,而未注册或游客的用户将看到一个不同的菜单。
免责声明:本站提供的一切源码、教程和内容信息仅限用于学习和研究目的;统一解压密码:www.vvjun.cn;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。如果您喜欢该程序和内容,请支持正版,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!