wppaste
WordPress

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' =&gt; true, 'edit_posts' =&gt; true, 'delete_posts' =&gt; 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

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.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 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 source
6.9.7
Parameter $capabilities retyped from bool[] to array<string,bool>|array<int,string>.verified against source
6.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.