Меняем имена стандартных ролей в WordPress

16 сентября 2014 50

Всем известно, что в WordPress существует 5, а если быть точным — 6 стандартных ролей пользователей, каждая из которых имеет определенный уровень прав доступа и строго ограниченные полномочия.

Kwork: Все онлайн-услуги по 500 руб.
Kwork: Все онлайн-услуги по 500 руб.
  1. Подписчик (Subscriber) — имеет права лишь на управление своим профилем;
  2. Участник (Contributor) — может писать и управлять своими постами, но без права публикации;
  3. Автор (Author) — аналогичен Участнику, но с правом публикации;
  4. Редактор (Editor) — публикует и управляет постами других пользователей;
  5. Администратор (Administrator) — имеет доступ ко всем администраторским функциям сайта;
  6. Супер администратор (Super Admin) — управляет сетью сайтов. Существует лишь в мультисайтовом WordPress.

Роль новых пользователей задается в общих настройках WordPress. Разумеется, каких-то четких правил в этом смысле нет, данная настройка больше зависит от концепции вашего сайта. Если это блог — новому пользователю логично дать роль Подписчика, на каких-то коллективных и общественных ресурсах, возможно, — Участника или Автора.

Список ролей и прав можно заметно расширить с помощью специализированных плагинов, о которых мы поговорим как-нибудь в другой раз.

Сегодня я расскажу каким образом можно изменить имена дефолтных ролей. К примеру, переименовать Администратора в Босса, Шефа, Начальника, Директора или еще в кого-нибудь, кто вам будет подогревать ЧСВ. Шучу. Из собственной практики знаю, чтобы избежать хаоса и бардака на любом коллективном ресурсе должна быть четкая иерархия пользователей с соответствующими правами доступа к созданию и редактированию контента сайта. Потому что неуправляемый сайт захлебнется в информационном дерьме, спаме, рекламе и в конечном счете убьет себя сам. Это факт! Кроме этого, иерархия должна быть прозрачна и понятна для посетителя. И если для среднестатистического блога дефолтная иерархия вполне понятна, то для какого-то специализированного ресурса, вполне возможно, этого будет недостаточно.

Для этих случаев, можно воспользоваться простым сниппетом, с помощью которого вы сможете изменить имена стандартных ролей в WordPress. Сниппет вставляется стандартно в файл functions.php вашей активной темы.

function wps_change_role_name() {
    global $wp_roles;
    if ( ! isset( $wp_roles ) )
        $wp_roles = new WP_Roles();
    $wp_roles->roles['subscriber']['name'] = 'Новичок';
    $wp_roles->role_names['subscriber'] = 'Новичок';
}
add_action('init', 'wps_change_role_name');

После этого все ваши пользователи с ролью «Subscriber» (Подписчик) получат роль «Новичок». Аналогичным образом вы можете изменить и другие имена ролей о которых говорилось выше.

Успехов.

Автор: Иван Данилин

Практикующий веб-разработчик, специализируюсь на платформе WordPress.

Комментарии

Разгоните свой WordPress

Хостинг-провайдер номер один в России — REG.RU

Подробнее