WP_Roles::add_role( string $role, string $display_name, bool[] $capabilities = array() ): WP_Role|void

Adds a role name with capabilities to the list.

Description

Updates the list of roles, if the role doesn’t already exist.

The capabilities are defined in the following format: array( 'read' => true ).
To explicitly deny the role a capability, set the value for that capability to false.

Parameters

$rolestringrequired
Role name.
$display_namestringrequired
Role display name.
$capabilitiesbool[]optional
List of capabilities keyed by the capability name, e.g. array( 'edit_posts' => true, 'delete_posts' => false ).

Default:array()

Return

WP_Role|void WP_Role object, if the role is added.

Source

public function add_role( $role, $display_name, $capabilities = array() ) {
	if ( empty( $role ) || isset( $this->roles[ $role ] ) ) {
		return;
	}

	$this->roles[ $role ] = array(
		'name'         => $display_name,
		'capabilities' => $capabilities,
	);
	if ( $this->use_db ) {
		update_option( $this->role_key, $this->roles );
	}
	$this->role_objects[ $role ] = new WP_Role( $role, $capabilities );
	$this->role_names[ $role ]   = $display_name;
	return $this->role_objects[ $role ];
}

Changelog

VersionDescription
2.0.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.