add_role( string $role, string $display_name, array<string,bool>|array<int,string> $capabilities = array() ): WP_Role|null
- Since
- 2.0.0, 6.9.0
- Source
wp-includes/capabilities.php:1135
Adds a role, if it does not exist.
Description
The list of capabilities can be passed either as a numerically indexed array of capability names, or an associative array of boolean values keyed by the capability name. To explicitly deny the role a capability, set the value for that capability to false. Examples:
// Add a role that can edit posts.
add_role( 'custom_role', 'Custom Role', array(
'read',
'edit_posts',
) ); Or, using an associative array: // Add a role that can edit posts but explicitly cannot not delete them.
add_role( 'custom_role', 'Custom Role', array(
'read' => true,
'edit_posts' => true,
'delete_posts' => false,
) );Parameters
$rolestring- Role name.
$display_namestring- Display name for role.
$capabilitiesarray<string,bool>|array<int,string>optional- Capabilities to be added to the role. Default empty array.Default:
array()
Return
WP_Role|null- WP_Role object, if the role is added.
Uses · 2
- wp_roles()Retrieves the global WP_Roles instance and instantiates it if necessary.
- wp_roles()::add_role()
Used by · 1
- populate_roles_160()Create the roles for WordPress 2.0
Source
function add_role( $role, $display_name, $capabilities = array() ) { if ( empty( $role ) ) { return null; } return wp_roles()->add_role( $role, $display_name, $capabilities );}History
Introduced in 2.0.0. 2 changes between 6.7.7 and 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
7.1.0
Return type changed from
WP_Role|void to WP_Role|null.verified against source6.9.7
Parameter
$capabilities retyped from bool[] to array<string,bool>|array<int,string>.verified against source6.9.0
Support was added for a numerically indexed array of strings for the capabilities array.from the docblock
2.0.0
Introduced.from the docblock
About this page
- Parsed data
- Generated from the wordpress-develop 7.1.0 tag, from
src/wp-includes/capabilities.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it. - Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.