Flector

Как изменить имена ролей пользователей?

Новые имена ролей

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

//изменение стандартных имен ролей start
function wph_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'] = 'Школьник';   
    $wp_roles->roles['contributor']['name'] = 'Абитуриент';
    $wp_roles->role_names['contributor'] = 'Абитуриент'; 	
    $wp_roles->roles['author']['name'] = 'Студент';
    $wp_roles->role_names['author'] = 'Студент';
    $wp_roles->roles['editor']['name'] = 'Аспирант';
    $wp_roles->role_names['editor'] = 'Аспирант';
    $wp_roles->roles['administrator']['name'] = 'Бог';
    $wp_roles->role_names['administrator'] = 'Бог';
}
add_action('init', 'wph_change_role_name'); 
//изменение стандартных имен ролей end

Напомню вам стандартные имена ролей и их перевод на русский:

  • Administrator - Администратор
  • Editor - Редактор
  • Author - Автор
  • Contributor - Участник
  • Subscriber - Подписчик

Какие возможности и права доступны каждой роли пользователей, вы можете прочитать вот в этой отличной статье.


Комментарии (1 комментарий)
  1. Петр:

    Классная статья.

    Прошу помощи и подсказки.
    Есть многоязыковый сайт, в процессе перевода темы столкнулся со следующим: надо поменять названия ролей пользователей на нескольких языках:
    к примеру
    Admin (en)-Администратор (ru) - Адміністратор (uk)
    и т.д.

    Для перевода использую связку polylang pro и loco translate

Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!