最近访客
百度未收录

WordPress 登录与非登录用户 显示不同菜单

用WordPress建设网站,需要没有登录的用户和已经登录的用户显示不同的菜单。

例如:A没有登录看到的菜单分类是1,2,3,4,5,B是已经登录了的会员,看到的菜单内容为3,4,5,6,7.

这个如何实现呢?WordPress里面有没有相应的插件?

目前还没有找到相关的插件可以使用,但是可以使用代码来实现这个功能。

今天我给大家分享代码的方式来实现这个功能。

代码实现

首先,将以下代码复制到你当前使用主题函数模板functions.php中:

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\' );

然后在后台分别建立 logged-inlogged-out 的菜单。

WordPress 登录与非登录用户 显示不同菜单-狐狸库

这两个菜单可以排列不一样,也可以把里面的分类做的不一样。

主题携带多个菜单的解决办法

如果你使用的主题本身就有多个菜单,你也可以使用下面的代码在指定的菜单位置显示。(这里还是控制在logged-inlogged-out)这两个提前设置的菜单。

function wpc_wp_nav_menu_args( $args = \'\' ) {
if( is_user_logged_in()) { 
 if( \'top-navigation\' == $args[\'theme_location\'] ) { // 将top-navigation更改为特定于主题的名称
 $args[\'menu\'] = \'logged-in\';
 }
} else { 
 if( \'top-navigation\' == $args[\'theme_location\'] ) { // 将top-navigation更改为特定于主题的名称
 $args[\'menu\'] = \'logged-out\';
 }
}
 return $args;
}
add_filter( \'wp_nav_menu_args\', \'wpc_wp_nav_menu_args\' );

通过以上可以修改为特定主题的导航。

温馨提示:本文最后更新于2022/10/20 04:21:57。若文章内容或图片失效,请留言联系站长反馈!
!
也想出现在这里? 联系我们
创意广告
© 版权声明
THE END
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容