Как получить текущую роль пользователя в Wordpress?

Как получить текущую роль пользователя в Wordpress?

Ответ 1

Предполагая, что у вас есть идентификатор пользователя ($ user_id), что-то вроде этого должно работать:

$user = new WP_User( $user_id );

if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
    foreach ( $user->roles as $role )
        echo $role;
}

Получить идентификатор пользователя из сеанса.

Ответ 2

Если вы не знаете идентификатор пользователя, эта функция поможет вам (поместите его в файл темы functions.php)

function get_user_role() {
    global $current_user;

    $user_roles = $current_user->roles;
    $user_role = array_shift($user_roles);

    return $user_role;
}

И затем в шаблоне вы можете получить роль пользователя, вызвав get_user_role().

Нашел здесь.

Ответ 3

function get_role_by_id( $id ) {

    if ( !is_user_logged_in() ) { return false; }

    $oUser = get_user_by( 'id', $id );
    $aUser = get_object_vars( $oUser );
    $sRole = $aUser['roles'][0];
    return $sRole;

}