Occasionally a plugin is released that really excites me. Today that happened with the new plugin from Kathy Darling called “Nav Menu Roles”. It’s a really simple plugin that makes it possible to restrict nav menu items to users of a specific role, and it works really well.
The plugin is currently only on Github, but Kathy said she will be publishing it on the WordPress.org repository really soon.
You can read more about the plugin on Kathy’s website.
Download plugin
This is AMAZING! I love it!
Great find Pippin and kudos to Kathy. I will definitely be using this plugin on some of the sites I manage as I’m currently having to maintain to separate menus, one for logged in users and another for logged out users
Great find Pippin, Kathy’s plugin seems neat but limited to the Menu navigation system, isn’t most user interaction located outside of the navigation menu? As in the header section?
There’s another plugin that does a similar task but works with Widgets only, which also works in conjunction with another plugin that can hide/show the widget based on user role and user status (logged in/out).
I’m looking forward to see Kathy’s plugin release and the outcome.
I wouldn’t call it limited at all, but rather specific. It targets one specific problem and does it quite well. Personally I really dislike plugins that try to do everything, so if there was a plugin that hide nav menu items, hid widgets, restrict page content, etc, I wouldn’t use it. I’d use the individual plugins instead.
Thanks for the review Pippin! I like your idea… if you send me a pull request for it I can add it. Or maybe I can take a look tomorrow… it shouldn’t be too hard. Basically you’d like an extra check box to show the menu item to any logged in user? I’ll post the repo link when it goes live.
@Anton and @Paul. Glad it could be useful for you. I’ve had to do the multiple menus before and it is annoying. I needed this again today and happened to come across the relevant code pieces at WordPress Answers.
@FanaticWeb yes it is limited to the custom menu system. That’s all it does. Couldn’t have cranked it out in just a day if it had been more. A client of mine needed to have items in the menu that only showed for ‘team’ members, so that is all I tried to achieve.
I’ll try and get a pull request to you soon, if you don’t beat me to it.
Awesome! I have been using a plugin called WP Custom Menu Filter by WP smith that does the same thing Pippin suggested. However, it uses CSS classes to filter out items for logged-out or logged-users. This one is way more intuitive and powerful. Going to try this today.
I’ve submitted a pull request on Github to add the logged in/out restrictions, so that feature will definitely get added.
Just a heads up that version 1.2 saw a rewrite that removes the conflict with theme’s that were using their own front-end Walker for menu styling. There are still some theme conflicts with themes that use a custom admin Walker, but that is much rarer and can’t be resolved until WordPress adds the appropriate hooks.
Great, thanks for posting the update!
Great plugin. Thank you, Kathy.
I tried using it with UberMenu and the restriction choices would not show up.
However, I deactivated UberMenu, selected the admin restriction, reactivated UberMenu and the behavior works as needed, even if you can’t see them in UberMenu.