WP_Roles::add_cap() publicWP 2.0.0

Додає або видаляє нову можливість цієї ролі.

Зміна можливостей ролей або користувачів записується до бази даних. Тому викликати цю функцію потрібно якось, при активації/деактивації плагіна або теми.

Це метод класу: 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

Приклади

0

#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 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 );
	}
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *