4个WordPress导航菜单访问权限控制插件

在制作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 inDevice is mobile
    • 显示是否User is AdminIs 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条件标签的用户来说,自由度最大,但是只适合高级开发人员使用。

所以,最终选择哪个插件,要看自己的需求。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
欢迎关注我们的微信公众号:WPDAXUE

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

暂无评论

发表评论