WP_Roles::add_cap( string $role, string $cap, bool $grant = true )

Add capability to role.

Parameters

$role

(string) (Required) Role name.

$cap

(string) (Required) Capability name.

$grant

(bool) (Optional) Whether role is capable of performing capability.

Default value: true

More Information

Changing the capabilities of a role is persistent, meaning the added capability will stay in effect until explicitly revoked.

This setting is saved to the database (in table wp_options, field wp_user_roles), so it might be better to run this on theme/plugin activation.

Source

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

public function add_cap( $role, $cap, $grant = true ) {
		if ( ! isset( $this->roles[ $role ] ) ) {
			return;
		}

		$this->roles[ $role ]['capabilities'][ $cap ] = $grant;
		if ( $this->use_db ) {
			update_option( $this->role_key, $this->roles );
		}
	}

Changelog

Version Description
2.0.0 Introduced.

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