WP_Roles::add_role
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.
Method of the class: WP_Roles{}
No Hooks.
Returns
WP_Role|null. WP_Role object, if the role is added.
Usage
global $wp_roles; $wp_roles->add_role( $role, $display_name, $capabilities );
- $role(string) (required)
- Role name.
- $display_name(string) (required)
- Role display name.
- $capabilities(bool[])
- List of capabilities keyed by the capability name, e.g. array('edit_posts'=> true,'delete_posts'=> false ).
Default: empty array
Changelog
| Since 2.0.0 | Introduced. |
WP_Roles::add_role() WP Roles::add role code WP 6.8.3
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, true );
}
$this->role_objects[ $role ] = new WP_Role( $role, $capabilities );
$this->role_names[ $role ] = $display_name;
return $this->role_objects[ $role ];
}