在制作WordPress网站的过程中,可能需要对导航菜单做一些访问权限控制,比如针对已登录的用户显示一部分菜单,对未登录对用户隐藏它们等等。这个功能在某些会员类网站中需求还是挺多的。今天倡萌就来推荐4个可以控制导航菜单访问权限的插件,希望大家喜欢。
Nav Menu Roles
该插件可让您根据用户角色隐藏自定义菜单项。因此,如果您在菜单中有一个仅想向登录用户,某些类型的用户甚至仅向未登录用户显示的链接,则此插件适合您。
导航菜单角色非常灵活。除了标准用户角色之外,您还可以使用nav_menu_roles
过滤器添加带有自定义标签的复选框,然后使用nav_menu_roles_item_visibility
过滤器检查所需条件,从而自定义功能。您可以检查任何用户元值(如功能)和其他插件添加的任何自定义属性。
重要的提示
在WordPress菜单中,项目和页面是完全独立的实体。导航菜单角色不限制对内容的访问。导航菜单角色仅用于显示/隐藏导航菜单项。如果您希望限制内容,则还需要使用会员插件。
Nav Menu Roles 是一个比较早的相关插件了,它的功能很简单,默认只能设置非登录或已登录用户访问,已登录用户可以选择用户角色。仅此而已,如果要求不高,这个插件就适合你。
User Menus
该插件允许您将可见性控件应用于菜单项,例如谁可以看到每个菜单项(每个人、注销的用户、登录的用户、特定的用户角色),从而使您可以更好地控制导航菜单。
它还使您可以在导航菜单中显示已登录的用户信息,例如“ Hello,John Doe”。该插件还允许您将登录、注册和注销链接添加到菜单。
完整功能列表
User Menus允许您执行以下操作:
- 向所有人显示菜单项
- 仅向注销/未登录用户显示菜单项
- 仅向登录用户显示菜单项
- 向具有或没有特定用户角色的用户显示菜单项。
- 在具有自定义大小选项的菜单项中显示已登录用户的头像{avatar}。
- 在菜单项中显示已登录用户的用户名{username}
- 在菜单项中显示已登录用户的名字{first_name}
- 在菜单项中显示已登录用户的姓氏{last_name}
- 在菜单项中显示登录用户的公开显示名称{display_name}
- 在菜单项中显示已登录用户的昵称
- 在菜单项中显示登录用户的邮箱{email}
- 将注销链接添加到菜单(可选的重定向设置)
- 将注册链接添加到菜单(可选的重定向设置)
- 将登录链接添加到菜单(可选的重定向设置)
**包括自定义菜单导入器,该菜单导入器将允许使用普通菜单导出/导入来迁移用户菜单数据。
If Menu
根据可见性规则,控制网站的访问者可以看到哪些菜单项。这里有一些例子:
- 仅在以下情况下显示菜单项
用户已登录
(登录状态) - 隐藏菜单项
手机端访问
- 显示菜单项
对某些用户角色
- 隐藏登录或注册链接
已登录用户
- 显示菜单项
根据国家地区显示
- 显示菜单项仅适用于
对某种会员级别
- 显示菜单项供访问者浏览
对某种语言
该插件易于使用,每个菜单项都会有一个新选项“更改菜单项的可见性”,这将允许选择可见性规则。
插件特色
- 基本可见性规则集
- 用户状态
User is logged in
- 用户角色
Admin
Editor
Author
等 - 页面类型
Front page
Single page
Single post
- 存档页面(年份,类别,搜索结果等)
- 访客客户端
Is Mobile
- 用户状态
- 高级可见性规则–(付费版功能)
- 访客位置–检测访客的国家
- 访客语言–检测访客选择的语言
- WooCommerce订阅–为具有活跃订阅的用户显示菜单
- WooCommerce会员资格–为拥有有效会员计划的客户显示菜单
- 分组–检测用户是否在特定组中
- WishList Member–检测用户的会员等级
- Restrict Content Pro –检测用户的订阅级别
- 多个规则–混合多个规则以使菜单项可见
- 显示是否
User is logged in
与Device is mobile
- 显示是否
User is Admin
与Is front page
- 显示是否
- 支持添加自定义规则
Menu Item Visibility Control
使用此插件,您可以使用WordPress 条件标签在前端启用或禁用菜单项。
用法
您必须在菜单项选项表单的“可见性”框中插入条件标签。您可以使用任何PHP或WordPress函数来构建疯狂的条件和菜单项逻辑。例如,要隐藏主页上的菜单项,可以将可见性设置为:! is_home()
为已登录用户隐藏菜单项:! is_user_logged_in()
只向具有“管理员”角色的用户显示菜单项:in_array('administrator', $GLOBALS['current_user']->roles)
总结
上面介绍的4个WordPress导航菜单访问权限设置插件,大致的功能都差不多,给出如下建议:
- Nav Menu Roles 是最老的一个,功能比较单一,仅支持设置是否登录以及用户角色
- User Menus 除了拥有Nav Menu Roles的所有功能以外,还可以添加一些登录、登出等链接
- If Menu 是此类插件功能最强大的,除了具备Nav Menu Roles的功能以外,还回一些会员类插件进行兼容(付费版),而且支持多个条件叠加
- Menu Item Visibility Control 对于熟悉WordPress条件标签的用户来说,自由度最大,但是只适合高级开发人员使用。
所以,最终选择哪个插件,要看自己的需求。
不错,收藏了