WordPress is a great platform and has surprisingly flexible permissions. However, by default, the permissions system keeps to the WordPress philosophy of "Decisions, not options". This means that there are 5 user roles by default: Administrator, Editor, Author, Contributor and Subscriber. But you're not able to edit these roles without installing a plugin.
In this guide, I'll introduce 5 of the best plugins for customizing the permissions on your WordPress site. These plugins will allow you to customize the 5 default roles, and also create your own rules and permissions.
Plugin #1. Capability Manager Enhanced
Capability Manager Enhanced is probably my favorite user permissions plugin for WordPress users. It really can do everything from the basics to the more advanced features.
With Capability Manager Enhanced, you can customize the permissions of all the existing roles. You can also create new roles and control their permissions.
Capability Manager Enhanced has you covered with custom post types too. Any post type on your site (plus the Media Library) gets custom settings for Editing, Deleting and Reading.
To control the settings of Capability Manager Enhanced, install the plugin, and go to Users > Capabilities. This image below shows a screenshot of the choice you'll see on a site with WooCommerce installed. As you can see, there are no problems at all picking up the permissions from a plugin such as WooCommerce.
All-in-all, Capability Manager Enhanced is highly recommended. It's free to download from WordPress.org:
Plugin #2. Press Permit
Press Permit is a really interesting choice for me because it allows you to add far more advanced and sophisticated permissions.
This image below is a good example of how Press Permit is different from the other plugins on this list. I mentioned before that WordPress has 5 default roles. In contrast, Press Permit allows you to go far beyond those 5 roles. For example, you can have a group that contains all the users on your site, no matter what role they're in. Or you can have a group that contains all your visitors who don't have user accounts.
With Press Permit, you can also drill down to control permissions for specific Posts, Pages or other content items. Here's a screenshot showing how you can select specific content:
Press Permit takes some time to learn, and it's not neccessary for basic options. But, if you really need powerful permissions, then Press Permit is the place to look.
I enjoy the Members plugin. It's doesn't have a fancy name or a fancy logo, but it is well designed. The user interface is easy-to-navigate and it has a similar set of permissions to Capability Manager Enhanced. The only noticeable downside is that it hasn't been updated in over a year.
4. User Role Editor
User Role Editor is similar to Capability Manager Enhanced and Members. It is the most popular plugin on this list although the interface isn't quite as good as Members, and the features aren't quite as good as Capability Manager Enhanced.
5. WPFront User Role Editor
WPFront User Role Editor is another nicely done plugin with similar options to the others on this list. WPFront has some nice extra features such as ability to redirect users to a particular URL after they login.