Возможно ли добавить новые роли пользователей?

7 нояб. 2012 г., 18:24:42
Просмотры: 22.9K
Голосов: 7

Интересно, возможно ли создать новую роль пользователя и дать ему специальные ограниченные возможности?

Я хотел бы иметь некоторых пользователей, которые могут только добавлять события в календарь. Они должны иметь возможность работать только в рамках таксономии календаря событий и редактировать свои записи, но не публиковать их - что-то вроде роли участника, но с более ограниченными правами!

1
Комментарии

Без знаний программирования вы можете добавлять пользовательские роли и возможности в WordPress с помощью различных бесплатных плагинов, вот один из них Роли и возможности пользователей

Mahabubur Rahman Mahabubur Rahman
10 февр. 2015 г. 13:13:51
Все ответы на вопрос 4
2

Да. WordPress имеет надежную встроенную систему Ролей и Возможностей, которая как раз предназначена для решения подобных задач.

Чтобы добавить новую роль, используйте функцию add_role() в файле functions.php вашей темы или в плагине следующим образом:

$role = add_role( 'event_manager', 'Менеджер мероприятий', array(
    'read' => true, // Значение true разрешает данную возможность
) );

if ( null !== $role ) {
    echo 'Ура! Новая роль создана!';
} else {
    echo 'Ой... роль event_manager уже существует.';

}

Чтобы добавить новую возможность, используйте функцию add_cap() вот так:

$role = get_role( 'event_manager' );
$role->add_cap( 'manage_events' );
7 нояб. 2012 г. 19:13:06
Комментарии

Стоит отметить, что вам нужно добавить (или удалить) роль только один раз. Они сохраняются в базе данных, поэтому нет необходимости делать это при каждой загрузке страницы. Также, на мой взгляд, роли больше подходят для плагинов.

chrisguitarguy chrisguitarguy
7 нояб. 2012 г. 19:33:07

Просто интересно, не стоит ли нам создать функцию и использовать хук add_action('huh-which-one'

alex alex
8 сент. 2014 г. 13:01:46
0

Да, это определенно возможно с помощью плагина, такого как Members. Вы можете создавать новые роли и права, но помните - вам действительно нужно будет внедрить эти пользовательские права в ваш плагин. Возможно, вам стоит просто установить плагин, а затем изменить существующую роль участника (contributor) под ваши нужды.

Для действительно детального контроля вы можете использовать его вместе с плагином Role Scoper. Спасибо!

7 нояб. 2012 г. 19:14:23
0

Добавьте следующий код в файл functions.php

add_role(
    'custom_editor',
    __( 'Custom Editor' ),
    array(
        'read'         => true,  // true позволяет эту возможность
        'edit_posts'   => true,
    )
);

Замените Custom Editor на название вашей роли

8 авг. 2019 г. 11:31:32
0

Помимо чистых программных решений, я также могу порекомендовать этот бесплатный плагин, который использую уже несколько лет. Он действительно стабильный, надежный и активно обновляется.

https://wordpress.org/plugins/user-role-editor/

20 июл. 2017 г. 15:48:06