Wordpress中根据用户登录状态显示/隐藏顶部导航菜单项
利用CSS实现WordPress登录状态下显示特定菜单项
我翻了好几个Stack Overflow问题,还谷歌搜了半天,终于搞定了WordPress里根据用户登录状态显示/隐藏特定菜单项的需求——全程几乎没用到插件,纯靠主题CSS就解决了。
具体操作步骤很清晰:
- 先给目标菜单项设置一个专属CSS类,我这里用的是
DtlMenu,你可以根据自己的需求替换成自定义类名 - 打开主题的自定义CSS编辑器(或者直接修改主题目录下的
style.css文件),添加这段代码:
.nav-menu .DtlMenu { display:none; } .logged-in .DtlMenu { display:block; }
这段代码的逻辑很直白:默认状态下让这个菜单项隐藏,当用户登录后,WordPress会自动给页面的<body>标签加上logged-in这个状态类,此时通过CSS优先级覆盖,就能让目标菜单项显示出来。
我还特意在WP目录树里用GREP搜了一圈,想找找logged-in类的生成位置,结果没找到具体文件——后来才反应过来,这是WordPress核心自动给body标签添加的状态类,不用我们手动配置,直接拿来用就行。
内容的提问来源于stack exchange,提问作者 Accuanto
相关产品推荐
相关产品推荐

