This will remove the option to change user group except if this is the administrator.
The Codex states:
While checking against particular roles in place of a capability is
supported in part, this practice is discouraged as it may produce
unreliable results.
For this reason, I check for activate_plugins
capability that normally only Admins will have.
function dont_allow_role_change($all_roles) {
global $user_id;
$user_meta = get_userdata($user_id);
if(!current_user_can('activate_plugins') && is_int($user_id)){
foreach ( $all_roles as $name => $role ) {
if (!in_array($name,$user_meta->roles)) {
unset($all_roles[$name]);
}
}
}
return $all_roles;
}
add_filter('editable_roles', 'dont_allow_role_change');
Related Posts:
- How to get role of user
- How do I programmatically set default role for new users?
- What do unfiltered_html and unfiltered_upload actually filter?
- Temporary capability for current_user_can()
- Is it possible to add new user Roles?
- Hide specific admin users’ posts
- How to update role capabilities
- How to loop through each user id?
- Code needed to only show users own posts in a multi-user account
- Ordering users of a specific role by last name
- Restrict Author to pick from media library, but not upload media
- how to add custom user capabilities using add_user_meta or something else?
- Remove Ability for Administrators to Delete Administrators
- Order users by custom user meta
- List total number of users that are authors
- I need to assign a role to visitors/guests
- Auto Delete Users (auto_delete_users)
- New Roles and Capabilities in WordPress
- Editor and contributor roles not correct after adding function
- WordPress Super Admin
- How to delete user roles?
- How to get all users with Author role capabilities?
- How to ‘unpublish’ or ‘hide’ posts when user role changes?
- Can’t manage to make translate_user_role() work
- Add Role inherits?
- similar to Editor can create any new user except administrator
- How to check if a role has a specific capability
- Expire a user’s secondary role after X days from it being allocated
- Prevent custom user role to add new pages
- Can a user with admin role get ‘Sorry, you are not allowed to move this item to the Trash’ error when trashing a post?
- Making shortcode of filtered number of comments by user role
- How to stop contributors editing post type but allowing them to edit a custom post type?
- Allow Block Editing By User Role
- WordPress missing user roles on local dev machine. Live site works fine
- Programmatically allow a non-author to edit a post based custom meta field
- Customizer – Allow user editor to change website title and tagline
- Query users which have same dynamically generated roles as the current user
- change role of wordpress users when they edit profile
- Change post status based on user role
- Display User Role Next To Comment
- Pending status by default for a specific role
- Getting a role based on a localized role name
- Allow an editor to change the author
- How do I restrict user access to plugins?
- Admin User Role Unable to See Private Posts
- Allowing user to edit posts based on the post status
- How to have kind of a technical writer role in wp website
- Assigning certain authors to specific editors
- How to make the Newsletter plugin visible to users with author privileges?
- WP welcome email depending on user role
- Allow user role “salesman” to view only “client” role users
- Purpose of Adding Capability to Role But Not Grant?
- bbPress: How to set conditional for specific user -or- user role, to be displayed in user profile
- Menu page with list of users
- How to check user role?
- Get and display a user’s profile info?
- How to get a users list by who created them?
- Paypal API and WordPress
- Updater user with multiple roles
- Custom user types getting html sanitized in posts
- Is there a Capability that checks as true for non-logged in users?
- Hiding custom theme functionality using capabilities
- Use PHP code to create custom user roles. Call it once?
- custom plugin not visible to some user roles
- How to write conditions based on user capabilities not on user role?
- What Capability is required to let a role RUN code in Edit Theme?
- remove_cap nothing changes
- get_post_meta with related user
- How to change a user’s role depending on date registered?
- Need to block user role from accessing bbPress all together
- Show special backend content for certain roles
- Retrieve user roles but exclude default roles
- Why can my subscribers create new posts for review?
- Custom Role read_private_posts Not Working
- Disabled delete_others_posts if post is from admin
- How to hide Add new Term area for taxonomy terms for specific role (Client)
- How to restrict subscriber editing other posts but read specific posts in backend
- Saving user meta “member_id” based on user role
- Change logo url based on WP user role
- show the author’s role along with the name in the single.php
- Display specific post categories to specific user roles
- Role and Capabilities: How do I allow user role to access theme options without enabling ‘manage_options’?
- How to Enable registration email for a custom user role?
- How can I add the ability for a user to add/edit administrators?
- Allow signed in users (subscribers) to see their drafts
- How to sync user database with “user role editor” plugin enabled
- add user role selection to registration form [duplicate]
- Need to create admin user without capability to create user
- Assign specific editor with custom user meta “A” to all authors with custom user meta “A” and exclude all other author access
- Grant access to admin menu?
- Give editor ability to edit custom settings without access to Main Settings
- I want this code to work only for Authors AND Contributors
- Disable Woocommerce checkout based on user role [closed]
- Remove_role not working, gives “Call to undefined method stdClass::remove_role()”
- Adding a new role with administrator’s capabilities
- How to assign a custom gender to a user role?
- assign roles to users in custom drop down in signup form
- Hide block of HTML if the users role is a certain role
- How might I enable a user to view Draft pages from a different Author, without the ability to edit?
- Display users by role