Nav Menu Roles

plugin banner

Hide custom menu items based on user roles

Author:Kathy Darling (profile at wordpress.org)
WordPress version required:4.5.0
WordPress version tested:5.7.0
Plugin version:2.0.1
Added to WordPress repository:20-09-2012
Last updated:19-04-2021
Rating, %:98
Rated by:203
Plugin URI:http://www.kathyisawesome.com/449/nav-menu-ro...
Total downloads:1 408 805
Active installs:100 000+
plugin download
Click to start download

This plugin lets you hide custom menu items based on user roles. So if you have a link in the menu that you only want to show to logged in users, certain types of users, or even only to logged out users, this plugin is for you.

Nav Menu Roles is very flexible. In addition to standard user roles, you can customize the functionality by adding your own check boxes with custom labels using the nav_menu_roles filter and then using the nav_menu_roles_item_visibility filter to check against whatever criteria you need. You can check against any user meta values (like capabilities) and any custom attributes added by other plugins.

IMPORTANT NOTE

In WordPress menu items and pages are completely separate entities. Nav Menu Roles does not restrict access to content. Nav Menu Roles is only for showing/hiding nav menu items. If you wish to restrict content then you need to also be using a membership plugin.

Usage

  1. Go to Appearance > Menus
  2. Set the “Display Mode” to either “logged in users”, “logged out users”, or “everyone”. “Everyone” is the default.
  3. If you wish to customize by role, set the “Display Mode” to “Logged In Users” and under “Restrict menu item to a minimum role” check the boxes next to the desired roles. Keep in mind that the role doesn’t limit the item strictly to that role, but to everyone who has that role’s capability. For example: an item set to “Subscriber” will be visible by Subscribers and by admins. Think of this more as a minimum role required to see an item.

Support

Support is handled in the WordPress forums. Please note that support is limited and does not cover any custom implementation of the plugin. Before posting, please read the FAQ. Also, please verify the problem with other plugins disabled and while using a default theme.

Please report any bugs, errors, warnings, code problems to Github


Screenshots
FAQ
ChangeLog