Not everyone who logs into the backend of WordPress needs access to every available tool. If someone doesn’t understand what they’re doing or makes a mistake, it can cause all kinds of problems on your site. That’s why many site owners hide admin menu items in WordPress from some users.
Hiding menu items can greatly reduce potential problems such as accidental content deletion or changing vital settings. And in many cases, a user like an author simply doesn’t need access to everything.
If you have a multiuser site, sometimes you’ll need certain people to have specific permissions but not have access to some of the tools in the admin toolbar. Custom user roles help keep the site running smoothly.
In this tutorial, I’ll show you how to edit the menu by user role in WordPress. The best part is it’s quick and easy. You don’t need to know how to write a single line of code.
How to Use the Role Editor Plugin
Today, I’m going to show you how User Role Editor works and how you can set WordPress to hide menu items for specific users. It’s a feature-rich tool that is easy to use and will help keep options away from specific user accounts.
1. Install the Plugin
- In the left column navigation, mouse over the “Plugins” link and click the “Add New” link.
- In the “Search plugins…” box, enter, “User Role Editor.”
- Install and activate the “User Role Editor” plugin.
2. Edit a User Role
In the left column navigation, mouse over the “Users” link and click the “User Role Editor” link.
Use the drop-down box to select the role you want to edit.
In the group column, you can select which permissions you want to edit. You can sort by core, custom posts types, and other functions available for your site.
To hide a menu item in WordPress, you’ll have to have the “Core” option selected.
In the second column, choose which abilities the user will have by clicking the checkbox.
3. Choose Which Menu Items to Remove
From here, you can choose which abilities to remove from the admin menu to protect the site from alterations. For instance, you can click the option to remove installing plugins and themes to prevent others from adding those elements.
If you need to see a list of options that are easier to read, click the “Show capabilities in human-readable form” option. This will translate the WordPress coded permissions into a more readable layout.
Once you’ve selected the abilities, click the “Update” button.
A confirmation window will pop up. Click the “Yes” button if you’re sure you want to edit the user role.
Now, the user will only have the permissions you’ve set. The options you’ve removed will not be visible.
4. Create a New Role in WordPress
If you want to create a new role for another user, click the “Add Role” button on the right.
Fill in the blanks for the user and click, “Add Role.” The option to “Make copy of” is in reference to the default permissions of the new role. Then, you can select what you want the role to have access to with the checkboxes above.
Other Plugins to Hide Menu Items
While the User Role Editor is a fine plugin, it may not suit your needs precisely. The best way to keep your site efficient is by making sure your tools work for your purposes. A plugin you don’t like or use won’t be of any help.
Here are a couple of other plugins you might want to consider to make WordPress remove menu items for roles. These plugins expand on the capabilities of the User Role Editor.
Adminimize is a great tool to manage a multi-user website. It alters how the backend is used while giving you the ability to assign specific rights to parts of the layout. The plugin also supports custom post types as well as customized options.
This tool even lets you control the sub-menu items of select areas. For instance, you can let users add a new post but not alter categories or tags. That kind of control can tighten up your website permissions considerably.
WP Custom Admin Interface
The WP Custom Admin Interface plugin is another great option to hide a menu item in WordPress. Not only do you have access to assign admin menu options, but you can also customize the login interface.
How Does Removing WordPress Admin Menu Items Help?
Let’s say you’re working with a client helping them get a WordPress website off the ground. If they don’t know what certain settings do, the client can really cause some damage.
In fact, I had one client nearly render his website useless because he made some fundamental admin errors. It can be frustrating when you have to go back and fix mistakes that never should have happened in the first place.
You could build a dashboard for clients to use in WordPress. But that’s an involved process, and it may be too elaborate a solution for the problem. It’s usually sufficient (and easier) to simply remove certain permissions from a user account.
Remember what noted website designer William of Ockham said, “The simplest solution is almost always the best.” That’s a philosophy that can serve most of us well. Whether we’re talking about websites or putting up shelves to hold our website design books.
Manage the Admin Screen with User Roles
Being able to hide admin menu items in WordPress helps to secure the site from accidental, and potentially destructive, changes. It also helps keep unauthorized users from accessing parts of the site they don’t need to access. Whatever your purpose, the above plugins can help.
Has a client or user ever changed website settings without your knowledge? Which options would you like to see added to tools like those listed above?
2 thoughts on “How to Hide Admin Menu Items for Specific Users in WordPress”
Thanks! For WooCommerce I requested them to change their setup, so it is possible to manage authorizations for their part of the menu. The idea needs votes on https://ideas.woocommerce.com/forums/133476-woocommerce/suggestions/39069922-woocommerce-should-not-reveal-an-overview-of-all-p Please give it your maximum 3 points, thanks!