Using WordPress ‘get_role()’ PHP function

The get_role() WordPress PHP function retrieves the role object for a given role name.


get_role( $role )


$editor_role = get_role('editor');


  • $role (string) (Required): Role name.

More information

See WordPress Developer Resources: get_role()


Retrieve Editor Role Capabilities

Get the capabilities of the ‘editor’ role.

$editor_role = get_role('editor');
$capabilities = $editor_role->capabilities;

Add a Custom Capability to Author Role

Add a new capability called ‘manage_ads’ to the ‘author’ role.

$author_role = get_role('author');

Remove a Capability from Contributor Role

Remove the ‘edit_published_posts’ capability from the ‘contributor’ role.

$contributor_role = get_role('contributor');

Check if Administrator Role has a Specific Capability

Check if the ‘administrator’ role has the ‘manage_options’ capability.

$admin_role = get_role('administrator');
if (isset($admin_role->capabilities['manage_options'])) {
    echo "Administrator can manage options.";
} else {
    echo "Administrator cannot manage options.";

List All Capabilities for a Custom Role

Display all capabilities for a custom role named ‘custom_role’.

$custom_role = get_role('custom_role');
foreach ($custom_role->capabilities as $capability => $value) {
    echo "{$capability}<br>";