User Role Editor WordPress plugin – Change roles easily

User Role Editor - plugin for WordPress

User Role Editor

User Role Editor WordPress plugin allows you to change standard WordPress user roles capabilities with easiness of a few mouse clicks. Just turn on check boxes of capabilities you wish to add to the selected role and click “Update” button to save your changes. That’s done. Add and tune your own custom roles which you can assign to the users then. You can create new role as a copy of existing one. Delete self-made roles. Change defaul user role.
Multi-site support is provided.

Why it could be necessary? Let’s suppose you wish that your multi-authored blog contributors upload their own graphics to use in their posts. WordPress “contributor” role has no such capability by default. In such situation you have needed to change user role capabilities manually using SQL client as I described at “How to change wordpress user role capabilities” post, if you have enough knowledge in that field. But what to do if you have not?

Good news – This task is simple now, just use this plugin

User Role Editor

The latest version: 4.20.1. Quant of downloads: 2229876

Change roles

Take a look at the “User Role Editor” plugin main form (click to open image in the original size):

  • Select a role you wish to change from the drop down list at the top. Page will be refreshed automatically and show you the capabilities list for the selected role. Make your corrections, check/uncheck correspondent check boxes and click “Update” button to save your changes. If you wish to apply this change for all sites of your multi-site WordPress network, turn on “Apply to All Sites” check box at the top of the form before press “Update”.
  • If you prefer to see capabilities names in form e.g. ‘Edit pages’ instead of WordPress ‘edit_pages’ standard form turn on the “Show capabilities in human readable form” checkbox at the right top corner of the main form. Move mouse over capability name and you will see its alternative form name.
  • According to WordPress Codex User Levels were introduced in WordPress 1.5, they were replaced by Roles and Capabilities in WordPress 2.0, and were finaly deprecated in WordPress 3.0. Thus you can hide them in order they do not mess you in your work with roles. Keep “Show deprecated capabilities” check box at the to right corner of the form unchecked for that. If for any reason you need to see user levels, turn on that check box.
  • If you don’t wish to save changes you can click “Cancel” button.
  • If you are needed to restore roles capabilities you have before your or installed plugins made 1st modification to them, use “Reset” button. “User Role Editor” will restore roles and capabilities to its clean state. You will get roles stuff just after WordPress installation. Be very careful with this operation as you will definitely lose any changes you or your plugins made to user roles from the time of fresh WordPress installation. Consider to make backup copy of your database before proceed with “Reset” operation.

In order to add/remove your custom role, change default role for new user, add/remove custom user correspondent buttons from the right toolbox panel.

  • If you need your own custom role, create it with “Add Role” button. Input new role name into input text field at “Add New Role” box, select existing role from drop-down list if you wish to use its capabilities as starting point for further work and click “Add” button. Remember that you can use latin letters, digits and an “_” underscore sign in your role names. Subscriber role is copied by default if you don’t select such role yourself.
  • Unnecessary self-made role can be deleted with “Delete Role” button. Select role and click “Delete” button for it. Only custom roles appear in the list of roles available for deletion. If some role is assigned to the user or selected as default role for new users it will not appear in this list. Option “Delete all unused roles” is available.
  • Select the role which you wish to use as default for any new created user from the list opening “Default Role” box by click at the “Default Role” button.
  • Use “Add Capability” button in order to add new user capability. Remember you can use only latin alphabet letters, digits and underscore sign in the capability name.
    How to use new added user capability? Turn it on in the role you select and check if current user has such capability in your plugin or active theme functions.php file. For example,

     if (!current_user_can('some_capability_you_added')) {
       echo "You don't have permission for it!";
  • If you need delete custom capability added by you or some of your old plugins, which you don’t use anymore use “Delete Capability” button. “User Role Editor” doesn’t allow to delete built-in WordPress capabilities and capabilities which are used by any role.

This video prepared by shows the installation and basic usage of User Role Editor WordPress plugin:

User permissions management

With help of “User Role Editor” you can assign additional capabilities directly to the users. Open users list by click on the “All Users” link at the “Users” submenu. Find needed user, move mouse pointer to his name and click “Capabilities” link as on screenshot below:
User Capabilities Editor link
At the form opened you can assign to user another role and/or add to him capabilities which not included to his role:
Change User Capabilities
You can not turn off capabilities included to the role assigned to this user. You can add/remove other capabilities. They will be applied directly to the user as you click the “Update” button. If you wish to built a fully custom capabilities set for this user, without limitation of any role, select “No role for this site” from drop-down list at the top and make it.

User Role Editor Settings

User Role Editor has its own options page under the WordPress Settings menu (under Network Admin is plugin was network activated).

User Role Editor Pro

Do you need more functionality with premium support in real time? Do you wish remove advertisements from User Role Editor pages?
Buy Pro version. It includes extra modules:

  • Block selected admin menu items for role.
  • “Export/Import” module. You can export user roles to the local file and import them then to any WordPress site or other sites of the multi-site WordPress network.
  • Roles and Users permissions management via Network Admin for multisite configuration. One click Synchronization to the whole network.
  • Per posts/pages users access management to post/page editing functionality.
  • Per plugin users access management for plugins activate/deactivate operations.
  • Per form users access management for Gravity Forms plugin.
  • Shortcode to show enclosed content to the users with selected roles only.
  • Posts and pages view restrictions for selected roles.

Pro version is advertisement free. Premium support is provided by plugin author Vladimir Garagulya. You will get an answer on your question not once a week, but in 24 hours or quicker.

User Role Editor

For more information about WordPress user roles please read these articles
WordPress Admin Menu Permissions;
WordPress user capabilities;
activate_plugins WordPress user capability;
edit_dashboard WordPress user capability;
Delete posts and pages WordPress user capabilities set;
delete_plugins WordPress user capability;
moderate_comments WordPress user capability;
Roles and Capabilities article at;


Русская версия этой статьи доступна по адресу

Dear plugin User,
If you wish to check available translations or help with translation visit this link

Special Thanks to

  • Lorenzo Nicoletti – for the code enhancement suggestion CUSTOM_USER_META_TABLE constant is used now for more compatibility with core WordPress API.
  • Marcin – For the code enhancement. This contribution allows to not lose new custom capability if it is added to other than ‘Administrator’ role.
  • FullThrottle – for the code to hide administrator role at admin backend.

You are welcome! Help me with bugs catching, share with me new ideas about plugin further development and link to your site will appear above.

Recent donations for this plugin development

Change Log

[4.20.1] 15.11.2015

  • Fix: "Primary default role" drop-down menu was not shown at "Settings - User Role Editor - Default Roles" tab for WordPress single site installation.

[4.20] 15.11.2015

  • "Additional options" section was added to the user role editor page. Currently it contains the only "Hide admin bar". The list of options may be customized/extended by developers via "ure_role_additonal_options" filter.
  • "Default Role" button is hidden to not duplicate functionality. Use "Settings - User Role Editor - Default Roles" tab instead. This button is available only for the single sites of WP multisite now.
  • Code restructure, optimization: administrator protection parts extracted to the separate class.

[4.19.3] 14.10.2015

  • Fix: minor CSS change.
  • Automatically add all available custom post types capabilities to the administrator role under the single site environment. Custom posts types selection query updated to include all custom post types except 'built-in' when adding custom capabilities for them
  • Special flag was set to indicate that single site administrator gets raised (superadmin) permissions temporary especially for the 'user-new.php' page, but current user is not the superadmin really. (This temporary permissions raising is done to allow single site administrator to add new users under multisite if related option is active.)

[4.19.2] 01.10.2015

  • Fix: multiple default roles assignment did not work under the multisite environment, when user was created from front-end by WooCommerce, etc.
  • Update: the translation text domain was changed to the plugin slug (user-role-editor) for the compatibility with
  • Update: CSS enhanced to exclude column wrapping for the capabilities with the long names.

[4.19.1] 20.08.2015

  • Default role value has not been refreshed automatically after change at the "Default Role" dialog - fixed.
  • More detailed notice messages are shown after default role change - to reflect a possible error or problem.
  • Other default roles (in addition to the primary role) has been assigned to a new registered user for requests from the admin back-end only. Now this feature works for the requests from the front-end user registration forms too.


  • 28.07.2015
  • It is possible to assign to the user multiple roles directly through a user profile edit page.
  • Custom SQL-query (checked if the role is in use and slow on the huge data) was excluded and replaced with WordPress built-in function call. Thanks to Aaron.
  • Bulk role assignment to the users without role was rewritten for cases with a huge quant of users. It processes just 50 users without role for the one request to return the answer from the server in the short time. The related code was extracted to the separate class.
  • Code to fix JavaScript and CSS compatibility issues introduced by other plugins and themes, which load its stuff globally, was extracted into the separate class.
  • Custom filters were added: 'ure_full_capabilites' - takes 1 input parameter, array with a full list of user capabilities visible at URE, 'ure_built_in_wp_caps' - takes 1 input parameter, array with a list of WordPress core user capabilities. These filters may be useful if you give access to the URE for some not administrator user, and wish to change the list of capabilities which are available to him at URE.
  • Dutch translation was updated. Thanks to Gerhard Hoogterp.


  • 30.04.2015
  • Calls to the function add_query_arg() is properly escaped with esc_url_raw() to exclude potential XSS vulnerabilities. Nothing critical: both calls of add_query_arg() are placed at the unused sections of the code.
  • Italian translation was updated. Thanks to Leo.


  • 24.02.2015
  • Fixed PHP fatal error for roles reset operation.
  • Fixed current user capability checking before URE Options page open.
  • 3 missed phrases were added to the translations files. Thanks to Morteza
  • Hebrew translation updated. Thanks to atar4u
  • Persian translation updated. Thanks to Morteza


  • 06.02.2015
  • New option "Edit user capabilities" was added. If it is unchecked - capabilities section of selected user will be shown in the readonly mode. Administrator (except superadmin for multisite) can not assign capabilities to the user directly. He should make it using roles only.
  • More universal checking applied to the custom post type capabilities creation to exclude not existing property notices.
  • Multisite: URE's options page is prohibited by 'manage_network_users' capability instead of 'ure_manage_options' in case single site administrators does not have permission to use URE.
  • URE protects administrator user from editing by other users by default. If you wish to turn off such protection, you may add filter 'ure_supress_administrators_protection' and return 'true' from it.
  • Plugin installation to the WordPress multisite with large (thousands) subsites had a problem with script execution time. Fixed. URE does not try to update all subsites at once now. It does it for every subsite separately, only when you visit that subsite.
  • Fixed JavaScript bug with 'Reset Roles' for FireFox v.34.

Click here to look at the full list of changes of User Role Editor plugin.


– Does it work in multi-site environment?
Yes, it works with multi-site installation. By default plugin works for every blog from your multi-site network as for locally installed blog without multi-site feature.

URE Multi-site feature

URE Multi-site feature

To update selected role globally for all Network you should turn on the “Apply to All Sites” checkbox.

– How to duplicate my custom created roles from main blog of my multi-site network to new created one?
“User Role Editor” makes it for you automatically. As new blog added to your network, “User Role Editor” copies full roles staff from your main blog to the new created one.

– Why administrators of single site of multi-site network do not see “User Role Editor” under “Users” menu?
URE is disabled for single site administrator by default. If you wish to enable it for single site adminitstrator add this line of code into your blog wp-config.php file


– I have large multi-site network. After click “Update” button with “Save to all sites” checkbox turned on nothing is happened. I got the blank page.
It is PHP script execution time limit problem. Other network update method is available as alternative from version 3.5. Due to my tests it works approximately 30 times faster. Try it. It will be great, if you share your experience with me. In order to select alternative method of all sites update add this line to you blog wp-config.php file


It does nothing automatically, just select other algorithm when you press “Update” with “Apply to All Sites” checkbox turned on next time.
If you define WP_DEBUG equal to 1 or true constant in wp-config.php file, URE with this directive shows update execution time in milliseconds as additional technical information.

– How to edit “Administrator” role? I don’t see it in the roles drop down list.
“Administrator” role is hidden from the roles drop down list by default.
You can see/edit “Administrator” role starting from version 3.4. Insert this line of code

  define('URE_SHOW_ADMIN_ROLE', 1);

into your wp-config.php file and login with administrator account for that.
If for any reason your “Administrator” role missed some capabilities added by plugins or themes, you can fix that now. But be careful with changing “Administrator” role, do not turn off accidentally some critical capabilities to not block your admin users.

– Does it work with WordPress versions prior 3.0?
Starting from version 2.2 plugin works with WordPress 3.0 and higher only. For earlier WordPress versions use plugin version 2.1.10


I am ready to answer on your questions about this plugin usage and help with possible problems. Use User Role Editor plugin forum or this page comments and site contact form for that please.


Tags: , , , ,

  • mark

    hi, i have about 10 users id like to be able to buy private products on my site, ive changed on of the roles, to allow them to Read private products but when logged in they still cant see them. am i doing something wrong?

  • Green Hope

    Hi! I recently updated the latest plugin (4.20.1) two weeks ago. With version 4.20, our “contributor” role was able to see several links on our page but now, they are unable. When I do a restore of our file to the 4.20 version, the contributor role was able to access the links in question, so I know it is something to do with the latest release.

  • Vladimir Garagulya


    The difference between 4.20 and 4.21 is: “Primary default role” drop-down menu was not shown at “Settings – User Role Editor – Default Roles” tab for WordPress single site installation.

    If you compare these versions source code you will see that is true. This changes could not influence contributor role as it never has access to the User Role Editor Settings page.

    Could you provide more details in order I may repeat your issue yourself? About what links do you write?