Fetch a filtered list of user roles that the current user is allowed to edit.
Description
Simple function whose main purpose is to allow filtering of the list of roles in the $wp_roles object so that plugins can remove inappropriate ones depending on the situation or user making edits.
Specifically because without filtering anyone with the edit_users capability can edit others to be administrators, even if they are only editors or authors. This filter allows admins to delegate user management.
Source
function get_editable_roles() {
$all_roles = wp_roles()->roles;
/**
* Filters the list of editable roles.
*
* @since 2.8.0
*
* @param array[] $all_roles Array of arrays containing role information.
*/
$editable_roles = apply_filters( 'editable_roles', $all_roles );
return $editable_roles;
}
Hooks
- apply_filters( ‘editable_roles’,
array[] $all_roles ) Filters the list of editable roles.
Changelog
Version | Description |
---|---|
2.8.0 | Introduced. |
Example
Currently, you can assign the following roles: