W3cubDocs

/WordPress

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

Add role name with capabilities to 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 a role a capability you set the value for that capability to false.

Parameters

$role

(string) (Required) Role name.

$display_name

(string) (Required) Role display name.

$capabilities

(bool[]) (Optional) List of capabilities keyed by the capability name, e.g. array( 'edit_posts' => true, 'delete_posts' => false ).

Default value: array()

Return

(WP_Role|void) WP_Role object, if role is added.

Source

File: wp-includes/class-wp-roles.php

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

Version Description
2.0.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_roles/add_role