Поддержка Проблемы и решения Как указать роль пользователя?

  • Я использую такой код для приветствия пользователя, можно ли ещё как то уточнить его роль, входит ли это в функцию wp_get_current_user();? Чтобы например написать echo ‘Ваша роль ‘ . $current_user->роль_пользователя . ‘!’;

    if (is_user_logged_in())
     {
        $current_user = wp_get_current_user();
        echo 'Здравствуйте ' . $current_user->user_login . '!';
    }

Просмотр 1 ответа (всего 1)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Если подойдёт строка на английском, то вывести роль достаточно просто:

    $current_user = wp_get_current_user();
    $user_role = current( $current_user->roles );
    echo $user_role;

    Если нужна строка на русском, можно в дополнение к предыдущему фрагменту загрузить файл перевода админки:

    global $wp_roles;
    load_textdomain( 'default', WP_LANG_DIR . sprintf( '/admin-%s.mo', get_locale() ) );
    echo translate_user_role( $wp_roles->role_names[ $user_role ] );

    Или написать подобный блок:

    $translated_roles = array(
    	'administrator' => 'Администратор',
    	'editor'        => 'Редактор',
    	'author'        => 'Автор',
    	'contributor'   => 'Участник',
    	'subscriber'    => 'Подписчик',
    );
    
    $user_role = strtr( $user_role, $translated_roles );
    echo $user_role;

Просмотр 1 ответа (всего 1)
  • Тема «Как указать роль пользователя?» закрыта для новых ответов.