W3cubDocs

/WordPress

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

Adds a capability to role.

Parameters

$rolestringrequired
Role name.
$capstringrequired
Capability name.
$grantbooloptional
Whether role is capable of performing capability.

Default: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

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–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_roles/add_cap