用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-in 和 logged-out 的菜单。

这两个菜单可以排列不一样,也可以把里面的分类做的不一样。
主题携带多个菜单的解决办法
如果你使用的主题本身就有多个菜单,你也可以使用下面的代码在指定的菜单位置显示。(这里还是控制在logged-in 和 logged-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\' );通过以上可以修改为特定主题的导航。
本站除原创内容,其余内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性、可用性承担任何责任。本站禁止以任何形式发布或转载任何违法相关信息,若您发现请立即向站长举报;用户投稿一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
如有版权内容,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,故敬请原作者谅解!为尊重作者劳动成果,请购买正版支持作者,谢谢!若您对「HULIKU.COM」所载资源作品版权归属存有异议,请发送邮箱:ihuliku@qq.com 进行处理。
本站资源文件大多存储至云盘,如您发现图片或链接失效,请联系站长或作者,我们将及时进行更新。资源都是经过站长或作者收集测试优化后进行发布分享。如若转载请在贵站文内以超链形式注明狐狸库文章出处,谢谢合作!












![WordPress子比主题美化教程合集[2023/04/17]-狐狸库](https://huliku.com/pic/2023032607024935.png)
![狐狸库自定义子比主题底部footer页脚美化(自适应)[06.26]更新-狐狸库](https://huliku.com/pic/2023062610013835.png)





















请登录后查看评论内容