wp cap

Добавляет, удаляет и перечисляет возможности роли пользователя.

Смотрите также команду wp role.

Список команд Описание
wp cap list Отображает возможности указанной роли.
wp cap add Добавляет возможности указанной роли. Работает на основе WP_Roles::get_role() и WP_Roles::add_cap().
wp cap remove Удаляет возможности у указанной роли. Работает на основе WP_Roles::get_role() и WP_Roles::remove_cap().

Примеры

# Добавить возможность 'spectate' роли 'author'.
$ wp cap add author spectate
Success: Added 1 capability to 'author' role.

# Add all caps from 'editor' role to 'author' role.
$ wp cap list editor | xargs wp cap add author
Success: Added 24 capabilities to 'author' role.

# Remove all caps from 'editor' role that also appear in 'author' role.
$ wp cap list 'author' | xargs wp cap remove 'editor'
Success: Removed 34 capabilities from 'editor' role.

Исходный код команд


wp cap list

Отображает возможности указанной роли.

Использование

wp cap list {role} [--format={format}] [--show-grant]
{role}
Название роли, например, administrator.
[--format={format}]
В каком формате вывести данные.
Может принимать значения list, table, csv, json, count, yaml.
По умолчанию: list
[--show-grant]
Отображать дополнительно информацию о том, разрешено ли роли выполнять ту или иную возможность.
По умолчанию: false

Примеры

# Отобразим список возможностей роли contributor (участника).
$ wp cap list 'contributor'
/*
edit_posts
read
level_1
level_0
delete_posts
read_blocks
*/
# Тоже самое, но с параметром show-grant
$ wp cap list 'contributor' --show-grant=true
/*
edit_posts,true
read,true
level_1,true
level_0,true
delete_posts,true
read_blocks,true
*/
# Тоже самое, плюс формат отображения table (таблица)
$ wp cap list 'contributor' --format=table --show-grant=true
/*
+--------------+-------+
| name         | grant |
+--------------+-------+
| edit_posts   | true  |
| read         | true  |
| level_1      | true  |
| level_0      | true  |
| delete_posts | true  |
| read_blocks  | true  |
+--------------+-------+
*/
# Отобразим возможности несуществующей роли my_unknown_role
$ wp cap list 'my_unknown_role'
/*
Error: 'my_unknown_role' role not found.
*/

wp cap add

Добавляет возможности указанной роли. Работает на основе WP_Roles::get_role() и WP_Roles::add_cap().

Использование

wp cap add {role} {cap}... [--grant]
{role}
Ключ роли, например administrator, editor, author, contributor, subscriber и так далее.
{cap}...
Название одной возможности или нескольких через пробел. Таблица с ролями и их возможностями по умолчанию.
[--grant]
Может ли указанная роль пользоваться указанной возможностью. Т.е. разрешить выполнять эту возможность (true) или наоборот запретить (false).
По умолчанию: true

Примеры

# Добавим возможность 'my_cap_1' для роли 'author'.
$ wp cap add author my_cap_1
Success: Added 1 capability to 'author' role.

# Повторим операцию и получим в ответ в счётчике ноль, так как такая роль уже была добавлена ранее.
$ wp cap add author my_cap_1
Success: Added 0 capability to 'author' role.

# Добавим несколько возможностей для роли 'administrator'.
$ wp cap add administrator my_cap_1 my_cap_2 my_cap_3
Success: Added 3 capability to 'administrator' role.

# Попытаемся добавить несуществующей роли новую возможность
$ wp cap add aut111hor my_cap_1
Error: 'aut111hor' role not found.

wp cap remove

Удаляет возможности у указанной роли. Работает на основе WP_Roles::get_role() и WP_Roles::remove_cap().

Использование

wp cap remove {role} {cap}...
{role}
Ключ роли, например administrator, editor, author, contributor, subscriber и так далее.
{cap}...
Название одной возможности или нескольких через пробел. Таблица с ролями и их возможностями по умолчанию.

Примеры

# Пусть у роли 'author' есть возможность 'my_cap_1'. Удалим её.
$ wp cap remove author my_cap_1
Success: Removed 1 capability from 'author' role.

# Тоже самое, но если надо было бы удалить несколько возможностей.
$ wp cap remove author my_cap_1 my_cap_2 my_cap_3
Success: Removed 3 capability from 'author' role.

# Повторим предыдущую операцию.
$ wp cap remove author my_cap_1 my_cap_2 my_cap_3
Success: Removed 0 capability from 'author' role.

# Попытаемся удалить у роли 'author' несуществующую возможность 'my_cap_777'
$ wp cap remove author my_cap_777
Success: Removed 0 capability from 'author' role.

# Попытаемся удалить у несуществующей роли возможность 'my_cap_1' (или другую).
$ wp cap remove aut111hor my_cap_1
Error: 'aut111hor' role not found.