WP_Roles::add_cap()
Додає або видаляє нову можливість цієї ролі.
Зміна можливостей ролей або користувачів записується до бази даних. Тому викликати цю функцію потрібно якось, при активації/деактивації плагіна або теми.
Це метод класу: WP_Roles .
Використовуйте WP_User::add_cap() , щоб додати/видалити право окремого користувача.
{} Це метод класу: WP_Roles{}
Хуків немає.
Повертає
null. Нічого не вертає.
Використання
// для WP $roles = new WP_Roles( $user_id ); $roles->add_cap( $role, $cap, $grant );
-  $role
 (рядок) (обов’язковий)
-  Назва ролі:
 Super Admin ,
 Administrator ,
 Editor ,
 Author ,
 Contributor ,
 Subscriber .
-  $cap
 (рядок) (обов’язковий)
-  Назва можливості.
 Таблиця з ролями та їх можливостями за умовчанням .
-  $grant
 (логічний)
-  Чи може ця роль користуватися зазначеною можливістю. Тобто. дозволити виконувати цю можливість (true) чи навпаки заборонити (false).
 
 
 Типово: true
Приклади
#1 Додамо можливість всім користувачам за участю “автор” (author)
Дозволимо авторам редагувати й інші пости (крім своїх):
register_activation_hook( __FILE__, 'add_theme_caps');
function add_theme_caps() {
	// Отримаємо роль author. Одночасно підключимося до класу WP_Role
	$role = get_role( 'author' );
	 // додамо нову можливість
	$role->add_cap( 'edit_others_posts' );
}
список змін
| З версії 2.0.0 | Введено. | 
Код WP_Roles::add_cap() WP Roles::add cap WP 6.0.2
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 );
	}
}