If you want certain navigation links to appear only to members, customers or logged-in users, Restrict for WordPress lets you restrict WordPress menu items individually, right from the standard menu editor. On this page you will learn how to control who sees each item in your navigation based on login status, user role or user capability. By the end, every visitor will see only the menu links that are actually relevant to them.
Why restrict menu items?
Restricting a page is only half of the job. If a protected page still shows up in your navigation, logged-out visitors will click it, run into a restriction message and may leave confused. Hiding the menu item itself keeps your navigation clean and the user experience consistent.
A few typical scenarios where this feature shines:
- Membership sites – show the "Members area" link only to logged-in members.
- Online courses – display course navigation only to users with a specific student role.
- Client portals – reveal management links only to users with a specific capability.
- Login and registration links – show a "Log in" item to logged-out visitors and hide it automatically once they sign in.
Prerequisites
- Restrict for WordPress installed and activated on your website.
- At least one navigation menu created under Appearance → Menus.
No coding is needed — everything happens on the familiar WordPress menu editing screen, and the feature works with any WordPress theme that uses standard menus.
How to restrict WordPress menu items
Restrict allows you to easily restrict access to each individual WordPress menu item. When adding a new or editing an existing menu item, you can select the specific criteria required for that item to appear to the user:
- In your WordPress admin, go to Appearance → Menus and open the menu you want to edit.
- Add a new menu item, or click the arrow next to an existing item to expand its settings.
- With Restrict active, each menu item now includes a Menu available to dropdown.
- Pick the visibility criteria for this item and save the menu.

Available visibility criteria
From the Menu available to dropdown you can select one of the following criteria:
- Everyone – menu item will be visible to everyone (this is the default value)
- Logged in users – it will be displayed only to logged-in users
- Users with specific role – if you select this option, you will need to select a specific user role to which this menu item will then be visible
- Users with specific capability – select this option if you want to make the menu item available to users with a specific user capability
- Logged out users – by selecting this option, a menu item will be displayed only to logged-out users
Since visibility is set per menu item, you can freely combine criteria within a single menu. One menu can contain public links visible to everyone, a members-only dashboard link and a "Log in" link that disappears as soon as the user signs in.
More criteria with WooCommerce, Tickera and Easy Digital Downloads
Additional options will be available if you have Tickera, WooCommerce or Easy Digital Downloads installed on your website. These integrations let you show menu items only to paying customers or ticket buyers. To check out these options, please visit our Integrations documentation.
Tips and troubleshooting
- Hide the link and restrict the page. Hiding a menu item does not protect the page itself — anyone with a direct URL can still open it. Combine this feature with page and post restriction for complete protection.
- Test as a visitor. Open your site in a private/incognito browser window, or log in with a test account, to confirm the menu behaves as expected for each type of user.
- Watch out for caching. If a caching plugin serves the same cached page to everyone, menu changes may not show up right away. Configure your cache to bypass logged-in users, or clear it after changing menu settings.