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