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