Title: Hide Menu Items by Role
Author: Mahfuzur Rahman
Published: <strong>marzo 17, 2023</strong>
Last modified: mayo 26, 2026

---

Search plugins

![](https://ps.w.org/hide-menu-items-by-role/assets/banner-772x250.png?rev=3211202)

![](https://ps.w.org/hide-menu-items-by-role/assets/icon.svg?rev=3211182)

# Hide Menu Items by Role

 By [Mahfuzur Rahman](https://profiles.wordpress.org/mahfuzurwp/)

[Download](https://downloads.wordpress.org/plugin/hide-menu-items-by-role.2.0.0.zip)

 * [Details](https://arg.wordpress.org/plugins/hide-menu-items-by-role/#description)
 * [Reviews](https://arg.wordpress.org/plugins/hide-menu-items-by-role/#reviews)
 *  [Installation](https://arg.wordpress.org/plugins/hide-menu-items-by-role/#installation)
 * [Development](https://arg.wordpress.org/plugins/hide-menu-items-by-role/#developers)

 [Support](https://wordpress.org/support/plugin/hide-menu-items-by-role/)

## Description

This plugin allows you to control menu item visibility based on user roles and login
status. You can:

 1. Hide menu items from specific user roles (original functionality)
 2. Show menu items only to specific user roles (new “show” mode)
 3. Control visibility based on login status (Everyone, Logged-in only, Logged-out 
    only)

The plugin uses WordPress core filters, so no JavaScript or jQuery is required.

## Screenshots

 * [[
 * Plugin shown in plugins page.
 * [[
 * Adding user roles and visibility settings in menus page.

## Installation

 1. Upload the plugin files to the /wp-content/plugins/ directory, or install the plugin
    through the WordPress plugins screen directly.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress.
 3. Create or edit a menu item, and configure the visibility settings:
 4.  * Select which user roles should affect visibility
     * Choose between “Hide from these roles” or “Show only to these roles”
     * Set login state visibility (Everyone, Logged-in only, Logged-out only)
 5. Save your menu.

## FAQ

### How do I control who can see a menu item?

When you create or edit a menu item, new fields will appear where you can:
 1. Select
which user roles should affect visibility 2. Choose between “Hide from these roles”(
default) or “Show only to these roles” 3. Set login state visibility: – Everyone(
no restriction) – Logged-out users only – Logged-in users only

### Can I hide menu items for multiple user roles?

Yes, you can select multiple user roles that should be affected by the visibility
rules.

### What’s the difference between “Hide from these roles” and “Show only to these roles”?

 * “Hide from these roles”: Menu item is visible to everyone EXCEPT the selected
   roles (original behavior)
 * “Show only to these roles”: Menu item is visible ONLY to the selected roles (
   new behavior)
 * Note: When using “Show only to these roles”, if no roles are selected, the item
   will be visible to everyone (to avoid accidentally hiding items during setup).

### How does the login state visibility work?

The login state setting works independently of role-based rules:
 – Everyone: No
restriction based on login status – Logged-out users only: Item is only visible 
to visitors who are not logged in – Logged-in users only: Item is only visible to
users who are logged in

If the login state rule is set to ‘Logged-out users only’, the role-based rules 
are not checked (for performance).

### How do I change the visibility settings for a menu item?

When you create or edit a menu item, the visibility fields will appear where you
can modify:
 – The selected user roles – The visibility mode (hide/show) – The login
state setting

## Reviews

![](https://secure.gravatar.com/avatar/dd4100b92edb3c216e1220c722b2d65d59213e2d0b4c826fe02c6d54480b1350?
s=60&d=retro&r=g)

### 󠀁[Clean & Effective Role-Based Menu Control](https://wordpress.org/support/topic/clean-effective-role-based-menu-control/)󠁿

 [Developerlook](https://profiles.wordpress.org/developerlook/) mayo 30, 2026

Exactly what I needed! This plugin makes it incredibly easy to show or hide menu
items based on user roles, no coding required. The setup is straightforward, and
it works flawlessly right out of the box. Perfect for managing different access 
levels in membership sites or multi-role dashboards. Highly recommend it to anyone
who needs clean, granular control over their navigation menu without bloating their
site with unnecessary custom code.

 [ Read all 1 review ](https://wordpress.org/support/plugin/hide-menu-items-by-role/reviews/)

## Contributors & Developers

“Hide Menu Items by Role” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Mahfuzur Rahman ](https://profiles.wordpress.org/mahfuzurwp/)

[Translate “Hide Menu Items by Role” into your language.](https://translate.wordpress.org/projects/wp-plugins/hide-menu-items-by-role)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/hide-menu-items-by-role/),
check out the [SVN repository](https://plugins.svn.wordpress.org/hide-menu-items-by-role/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/hide-menu-items-by-role/)
by [RSS](https://plugins.trac.wordpress.org/log/hide-menu-items-by-role/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.0.0

 * Added login state visibility control (Everyone/Logged-out only/Logged-in only)
 * Added show/hide mode toggle (Hide from these roles / Show only to these roles)
 * Added UI enhancements: when login state is ‘Logged-out users only’, other fields
   are visually disabled
 * Major feature update with enhanced visibility controls

#### 1.0.1

 * Updated for compatibility with WordPress 6.7.1

#### 1.0.0

 * Initial release with basic role-based hiding functionality.

## Meta

 *  Version **2.0.0**
 *  Last updated **1 semana ago**
 *  Active installations **70+**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **7.0.0**
 *  PHP version ** 7.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/hide-menu-items-by-role/)
 * Tags
 * [hide menu items](https://arg.wordpress.org/plugins/tags/hide-menu-items/)[menu](https://arg.wordpress.org/plugins/tags/menu/)
   [navigation](https://arg.wordpress.org/plugins/tags/navigation/)[roles](https://arg.wordpress.org/plugins/tags/roles/)
   [user roles](https://arg.wordpress.org/plugins/tags/user-roles/)
 *  [Advanced View](https://arg.wordpress.org/plugins/hide-menu-items-by-role/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/hide-menu-items-by-role/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/hide-menu-items-by-role/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/hide-menu-items-by-role/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/hide-menu-items-by-role/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/hide-menu-items-by-role/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/hide-menu-items-by-role/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/hide-menu-items-by-role/reviews/)

## Contributors

 *   [ Mahfuzur Rahman ](https://profiles.wordpress.org/mahfuzurwp/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/hide-menu-items-by-role/)