Функция is_user_logged_in()
проверяет, выполнен ли вход пользователя в текущей сессии. Она возвращает true
, если пользователь авторизован, и false
, если нет. Эта функция полезна для условного отображения контента или выполнения определенных действий, доступных только авторизованным пользователям.
bool is_user_logged_in()
Возвращаемое значение
- (bool): Возвращает
true
, если пользователь авторизован, иfalse
в противном случае.
Пример 1: Приветствие авторизованного пользователя
Этот пример демонстрирует, как использовать is_user_logged_in()
для вывода приветственного сообщения только для авторизованных пользователей.
if ( is_user_logged_in() ) {
$current_user = wp_get_current_user();
echo '<p>Добро пожаловать, ' . esc_html( $current_user->display_name ) . '!</p>';
} else {
echo '<p>Добро пожаловать, гость! Пожалуйста, <a href="' . wp_login_url() . '">войдите</a> или <a href="' . wp_registration_url() . '">зарегистрируйтесь</a>.</p>';
}
Пример 2: Ограничение доступа к контенту
Этот пример показывает, как ограничить доступ к определенному контенту только для авторизованных пользователей.
if ( is_user_logged_in() ) {
echo '<p>Этот контент доступен только авторизованным пользователям.</p>';
} else {
echo '<p>Пожалуйста, <a href="' . wp_login_url() . '">войдите</a>, чтобы увидеть этот контент.</p>';
}
Пример 3: Перенаправление неавторизованных пользователей
Этот пример демонстрирует, как перенаправлять неавторизованных пользователей на страницу входа.
function restrict_access() {
if ( !is_user_logged_in() ) {
wp_redirect( wp_login_url() );
exit;
}
}
add_action( 'template_redirect', 'restrict_access' );
Пример 4: Отображение различных меню для авторизованных и неавторизованных пользователей
Этот пример показывает, как использовать is_user_logged_in()
для отображения различных меню в зависимости от состояния авторизации пользователя.
if ( is_user_logged_in() ) {
wp_nav_menu( array( 'theme_location' => 'logged-in-menu' ) );
} else {
wp_nav_menu( array( 'theme_location' => 'logged-out-menu' ) );
}
Заключение
Функция is_user_logged_in()
является полезным инструментом для проверки состояния авторизации пользователя в WordPress. Она позволяет гибко управлять отображением контента и выполнением действий, доступных только для авторизованных пользователей, что улучшает взаимодействие пользователей с вашим сайтом.