WP_Roles::add_role()publicWP 2.0.0

Adds a role name with capabilities to the list.

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.

Метод класса: WP_Roles{}

Хуков нет.


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


global $wp_roles;
$wp_roles->add_role( $role, $display_name, $capabilities );
$role(строка) (обязательный)
Role name.
$display_name(строка) (обязательный)
Role display name.
List of capabilities keyed by the capability name, e.g. array('edit_posts'=> true,'delete_posts'=> false ).
По умолчанию: empty array

Список изменений

С версии 2.0.0 Введена.

Код WP_Roles::add_role() WP 6.6

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

	$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 ];