分享一个未登录的情况下隐藏导航里的自定义链接,登录后显示

在外观-菜单-显示选项-勾选CSS类
下拉你添加的自定义链接,有个可以填写CSS 类的框,输入login-only-link
然后在主题根目录的functions.php文件,最后面添加

function hide_login_only_link($items, $args) {
    // 检查用户是否已登录
    if (is_user_logged_in()) {
        // 获取当前用户的角色
        $user = wp_get_current_user();
        $roles = (array) $user->roles;
        
        // 这里可以根据需要修改条件
        // 如果用户角色是'administrator'或'editor', 链接将会显示
        if (in_array('administrator', $roles) || in_array('editor', $roles)) {
            return $items;
        }
    }
    
    // 遍历菜单项,找到具有指定类名的项并移除它
    foreach ($items as $key => $item) {
        if (in_array('login-only-link', $item->classes)) {
            unset($items[$key]);
        }
    }
    
    return $items;
}
add_filter('wp_nav_menu_objects', 'hide_login_only_link', 10, 2);

需要注意的是用户角色为:'administrator'或'editor'是直接显示的

该代码的好处是为了让用户登录后更方便进入指定页面

举报

上一篇

WordPress删除文章后自动删除文章附件图片

下一篇

世界,您好!
相关推荐
Moe主题(V1.0)在页面使用代码高亮功能详解-wordpress高亮代码教程
WordPress系统优化:提升网站安全性能与用户体验
消息系统:连接你与世界的纽带
期待手机端APP或者小程序早日到来
WordPress类:如何使用WP_REST_Response类的方法set_headers设置响应头
wordpress实现不同分类设置不同的每页显示文章数量
评论(0)
游客的头像
表情
全部评论 只看作者
最新热门
  1. 暂时还没有评论哦