Other roles access management

Other Roles Access additional module for User Role Editor Pro WordPress plugin allows to block roles from selection in the WordPress drop-down lists (e.g at user profile) by the user with current role. Those roles tabs at the “Users” page will be hidden from the current role too. This way you may add to your WordPress some kind of roles hierarchy – which roles are available for the current one, but which are not.
Turn on this checkbox at “Additional Module” tab of User Role Editor Setting page in order to activate “Other Roles Access” add-on:

Activate Other Roles Access module
Activate Other Roles Access module

Then you will see new added button “Other Roles” at “User Role Editor” page under “Users” menu:

Other Roles Access button
Other Roles Access button

“Other Roles” button works for the role with “edit_users” capability included. Click on this button opens dialog window with the list of roles. Turn on checkboxes near the roles you wish to block for selection in the WordPress drop-down lists for the current role, e.g. “User Manager” in our example:
Other Roles Access dialog
Other Roles Access dialog

Press “Update” to save your changes. After this the user with “Local Admin” role will not see blocked roles at the WordPress drop-down lists, like at “User Profile” page:
Other Roles Access restricted select role drop-down list
Restricted select role drop-down list at user profile

Users with blocked roles will not be available for view/edit at the “Users” page also. It’s not possible to assign blocked roles to the new user at the “Users->Add New” page.

Restrictions set by this add-on are not applied to a user with ‘administrator’ role under single site WordPress installation.

WordPress multisite

Restrictions set by this add-on are not applied to a user with ‘administrator’ role by default under WordPress multisite. Take this into account when try to block access to some roles selection for single site admins.
It’s possible to change the default behavior for WordPress multisite via custom filter ‘ure_not_block_other_roles_for_local_admin’, using this code:

add_filter('ure_not_block_other_roles_for_local_admin','my_not_block_other_roles_for_local_admin');
 
function my_not_block_other_roles_for_local_admin($flag) {
 
  return false;
}
Share