WordPress plugin intelligence profile

Nav Menu Roles

Hide custom menu items based on user roles.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version3.0.0
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 6.6.0 · PHP 7.4
Directory statusactive
Last directory update30 Oct 20262d ago
Active installations70K+Adoption metric — not a quality score
WordPress.org rating4.9 / 5 from 219 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Nav Menu Roles version 3.0.0 as active, updated 2d ago and tested up to WordPress 7.1.

Overview

About this plugin

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

  • Go to Appearance > Menus
  • Set the “Target audience” to either “Everyone”, “Logged In Users”, or “Logged Out Users”. “Everyone” is the default.
  • If you wish to customize by role, set the “Target audience” to “Logged In Users” and under “Target role” check the boxes next to the desired roles. The item will be visible to users who have any of the checked roles. Roles are not hierarchical, so an item set to “Subscriber” is not visible to Administrators unless you also check “Administrator”. If no roles are checked, the item is visible to all logged in users.
  • Set the “Display Mode” to “Show” to display the item only to the selected audience, or to “Hide” to hide the item from the selected audience and show it to everyone else. “Show” is the default.

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

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • nav menu
  • nav menus
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 6.6.0 · PHP 7.4
Update activity30 Oct 20262d ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

Version2.1.33.0.0
WordPress compatibility6.9.07.1.0
Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.