is_user_logged_in()

Определяет, является ли текущий посетитель зарегистрированным пользователем
Функция WordPress
INT 2.0.0
WordPress Icon

Описание функции

Функция is_user_logged_in() используется в WordPress для определения, является ли текущий посетитель авторизованным пользователем. Она проверяет, существует ли активная сессия пользователя и возвращает логическое значение true, если пользователь авторизован, и false, если пользователь не авторизован.

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

is_user_logged_in(): bool

В этом коде мы вызываем функцию is_user_logged_in() без передачи аргументов. Функция возвращает логическое значение типа bool.

Комментарии к коду:

  • is_user_logged_in() — вызов функции для проверки авторизации пользователя.
  • bool — тип данных, возвращаемый функцией, логическое значение true или false.

Функция is_user_logged_in() возвращает логическое значение типа bool. Если пользователь авторизован, функция возвращает true, если пользователь не авторизован, функция возвращает false.

Примеры использования

Проверка авторизации пользователя


if ( is_user_logged_in() ) {
    // Пользователь авторизован
    echo 'Добро пожаловать, ' . wp_get_current_user()->display_name;
} else {
    // Пользователь не авторизован
    echo 'Пожалуйста, войдите на сайт';
}

В этом примере мы используем функцию is_user_logged_in() для проверки, авторизован ли текущий посетитель. Если пользователь авторизован, мы выводим его имя, используя функцию wp_get_current_user(). В противном случае, мы просим пользователя войти на сайт.

Отображение контента в зависимости от статуса пользователя


if ( is_user_logged_in() ) {
    // Пользователь авторизован
    echo 'Этот контент виден только авторизованным пользователям';
} else {
    // Пользователь не авторизован
    echo 'Пожалуйста, войдите на сайт, чтобы увидеть этот контент';
}

В этом примере мы используем функцию is_user_logged_in() для проверки, авторизован ли текущий посетитель. Если пользователь авторизован, мы отображаем контент, доступный только авторизованным пользователям. В противном случае, мы просим пользователя войти на сайт, чтобы увидеть этот контент.

Перенаправление пользователя на другую страницу


if ( ! is_user_logged_in() ) {
    // Пользователь не авторизован, перенаправляем на страницу входа
    wp_redirect( wp_login_url() );
    exit;
}

В этом примере мы используем функцию is_user_logged_in() для проверки, авторизован ли текущий посетитель. Если пользователь не авторизован, мы перенаправляем его на страницу входа, используя функцию wp_login_url(). Затем мы вызываем функцию exit, чтобы прекратить выполнение кода и перенаправление пользователя.

Добавление дополнительных полей для авторизованных пользователей


function custom_user_fields( $user_fields ) {
    $user_fields['company'] = 'Компания';
    return $user_fields;
}
add_filter( 'user_contactmethods', 'custom_user_fields' );

В этом примере мы используем хук user_contactmethods для добавления дополнительного поля «Компания» в профиль авторизованного пользователя. Мы определяем функцию custom_user_fields, которая принимает массив существующих полей пользователя и добавляет новое поле «Компания». Затем мы добавляем эту функцию в качестве фильтра с помощью функции add_filter.

Ограничение доступа к определенным страницам для неавторизованных пользователей


function restrict_page_access() {
    if ( ! is_user_logged_in() && is_page( 'restricted-page' ) ) {
        wp_redirect( home_url() );
        exit;
    }
}
add_action( 'template_redirect', 'restrict_page_access' );

В этом примере мы используем хук template_redirect для ограничения доступа неавторизованных пользователей к определенной странице с идентификатором «restricted-page». Мы определяем функцию restrict_page_access, которая проверяет, не авторизован ли текущий посетитель и является ли текущая страница «restricted-page». Если условие выполняется, мы перенаправляем пользователя на главную страницу с помощью функции wp_redirect и вызываем функцию exit.

Вопросы и ответы

Как проверить, залогинен ли пользователь?

Для проверки, залогинен ли пользователь, в WordPress используется функция is_user_logged_in(). Она возвращает true, если пользователь залогинен, и false, если пользователь не залогинен.

Пример использования функции is_user_logged_in():


if ( is_user_logged_in() ) {
    echo 'Пользователь залогинен.';
} else {
    echo 'Пользователь не залогинен.';
}

Как использовать функцию is_user_logged_in() в шаблоне WordPress?

Функцию is_user_logged_in() можно использовать в шаблоне WordPress для условного отображения контента в зависимости от статуса пользователя.

Пример использования функции is_user_logged_in() в шаблоне WordPress:


if ( is_user_logged_in() ) {
    // Вывод контента для залогиненных пользователей.
} else {
    // Вывод контента для не залогиненных пользователей.
}

Как изменить поведение функции is_user_logged_in()?

Функцию is_user_logged_in() нельзя изменить напрямую, так как она является встроенной функцией WordPress. Можно использовать хуки для изменения ее поведения.

Пример использования хука is_user_logged_in для изменения поведения функции is_user_logged_in():


add_filter( 'is_user_logged_in', 'custom_is_user_logged_in' );
function custom_is_user_logged_in( $logged_in ) {
    // Изменение поведения функции is_user_logged_in().
    return $logged_in;
}

Как проверить, является ли пользователь администратором?

Для проверки, является ли пользователь администратором в WordPress, можно использовать функцию current_user_can(). Эта функция принимает один обязательный параметр — название действия, и возвращает true, если текущий пользователь имеет право выполнить это действие, и false в противном случае.


if ( current_user_can( 'administrator' ) ) {
    // пользователь является администратором
} else {
    // пользователь не является администратором
}

Как проверить, является ли пользователь авторизованным?

Для проверки, является ли пользователь авторизованным в WordPress, можно использовать функцию is_user_logged_in(). Эта функция возвращает true, если пользователь авторизован, и false в противном случае.


if ( is_user_logged_in() ) {
    // пользователь авторизован
} else {
    // пользователь не авторизован
}

Как использовать функцию is_user_logged_in() в теме WordPress?

Функцию is_user_logged_in() можно использовать в теме WordPress для отображения различного контента в зависимости от статуса пользователя. Например, можно показывать ссылку на выход, если пользователь авторизован, или ссылку на вход, если пользователь не авторизован.


if ( is_user_logged_in() ) {
    echo '<a href="' . wp_logout_url() . '">Выход</a>';
} else {
    echo '<a href="' . wp_login_url() . '">Вход</a>';
}

Функция is_user_logged_in() в WordPress позволяет определить, является ли текущий посетитель авторизованным пользователем. Она возвращает true, если пользователь авторизован, и false в противном случае. Эта функция полезна для проверки статуса пользователя и отображения соответствующего контента в теме WordPress.

Связанные элементы

  • Функция wp_get_current_user(): Возвращает объект текущего пользователя.
  • Функция wp_logout(): Выходит текущего пользователя из системы.
  • Функция wp_set_auth_cookie(): Устанавливает аутентификационную куку для пользователя.
  • Функция wp_signon(): Аутентифицирует пользователя и создает сеанс для него.
  • Хук wp_login: Вызывается после успешной аутентификации пользователя.
  • Хук wp_login_failed: Вызывается, когда попытка входа в систему не удалась.
  • Класс WP_User: Представляет пользователя WordPress и предоставляет методы для работы с его данными.
  • Класс WP_User_Query: Используется для выполнения запросов к базе данных для получения пользователей, удовлетворяющих определенным критериям.
Обсуждение