wp-includes/class-wp-roles.php:158Adds a role name with capabilities to the list.
$rolestring$display_namestring$capabilitiesbool[]optionalarray()WP_Role|void 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 ]; }Introduced in 2.0.0. 2 changes between 6.7.7 and 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
WP_Role|void to WP_Role|null.verified against source$capabilities retyped from bool[] to array<string,bool>|array<int,string>.verified against sourcesrc/wp-includes/class-wp-roles.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.