Проверка пользователя на администратора в WordPress: is_user_admin()

Проверка, является ли пользователь администратором (IS_USER_ADMIN)

Функция is_user_admin() определяет, открыта ли страница администрирования пользователей в WordPress.

Описание

Эта функция используется для определения того, находится ли текущий запрос на странице управления пользователями. Например, если URL выглядит как /wp-admin/user/, значит, вы находитесь на странице администрирования пользователей.

Важно отметить, что эта функция не проверяет, является ли пользователь администратором. Для этой цели лучше использовать функцию current_user_can(), которая проверяет роли и права пользователей.

Возвращаемое значение

Функция возвращает:

  • true — если мы находимся на странице администрирования пользователей.
  • false — в противном случае.

Использование

Чтобы использовать функцию, просто вызовите её:

is_user_admin();

Примеры

Пример 1: Отображение ссылки на профиль

Если мы находимся на странице управления пользователями, мы можем отобразить ссылку на профиль:

if ( is_user_admin() ) {
    $url = user_admin_url( 'profile.php', $scheme );
} elseif ( is_network_admin() ) {
    $url = network_admin_url( 'profile.php', $scheme );
} else {
    $url = get_dashboard_url( $user_id, 'profile.php', $scheme );
}

Примечания

  • Глобальные переменные: В функции используется объект $current_screen, который содержит информацию о текущем экране в WordPress.

Изменения

Функция была добавлена в версии WordPress 3.1.0.

Код функции

Вот как выгл��дит код функции is_user_admin():


function is_user_admin() {
if ( isset( $GLOBALS['current_screen'] ) ) {
return $GLOBALS['current_screen']->in_admin( 'user' );
} elseif ( defined( 'WP_USER_ADMIN' ) ) {
return WP_USER_ADMIN;
}
return false;
}

Связанные функции

  • is_admin()
  • is_network_admin()
  • is_user_logged_in()
  • is_blog_admin()
  • is_home()

Это некоторые из других условных тегов, которые могут быть полезны при разработке на WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *