WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

wp_loginout() WP 1.5.0

Выводит ссылку "входа", если пользователь не авторизован и ссылку "выхода", если авторизован.

Дополнительный параметр $redirect дает возможность указать страницу куда нужно вернутся после входа/выхода.

Работает на основе: wp_login_url(), wp_logout_url()
✈ 1 раз = 0.000138с = быстро | 50000 раз = 3.67с = быстро PHP 7.0.2, WP 4.4.2
Хуки из функции:
Возвращает

Выводит на экран готовую ссылку входа/выхода. Если в $echo параметре указать 0, то результат будет возвращен для обработки.

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

<?php wp_loginout( $redirect, $echo ); ?>
$redirect(строка)
УРЛ куда следует перейти после входа/выхода (добавлен в версии 2.8).
По умолчанию: нет
$echo(логический)
Вывести на экран (1) или возвратить для обработки (0).
По умолчанию: 1

Примеры

#1. Базовое использование:

wp_loginout();

// Вернет: 
// <a href="http://site.ru/wp-login.php?action=logout&_wpnonce=3bd3336222">Выйти</a>

Заметки

  • Использует фильтр 'loginout';
  • Использует: is_user_logged_in()
  • Использует: wp_login_url() и wp_logout_url()

Код wp loginout: wp-includes/general-template.php WP 4.8.1

<?php
function wp_loginout($redirect = '', $echo = true) {
	if ( ! is_user_logged_in() )
		$link = '<a href="' . esc_url( wp_login_url($redirect) ) . '">' . __('Log in') . '</a>';
	else
		$link = '<a href="' . esc_url( wp_logout_url($redirect) ) . '">' . __('Log out') . '</a>';

	if ( $echo ) {
		/**
		 * Filters the HTML output for the Log In/Log Out link.
		 *
		 * @since 1.5.0
		 *
		 * @param string $link The HTML link content.
		 */
		echo apply_filters( 'loginout', $link );
	} else {
		/** This filter is documented in wp-includes/general-template.php */
		return apply_filters( 'loginout', $link );
	}
}

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

Из раздела: Вход/выход

wp_loginout 5 комментариев
  • игорь
    @

    Подскажите, как в меню (через модуль Меню в ПУ) добавить такую ссылку? Чтобы отображалась Войти для гостей и Выйти для пользователей.

    1
    Ответить3.3 года назад #
    • Дмитрий1737 cайт: wp-plus.ru

      Там уже есть такая позиция "Войти" из вкладки "Страницы", добавьте её в меню своё в нужное место.

      -2
      Ответить3 года назад #
      • Влад

        Не могли бы вы подробнее рассказать как реализовать подобный функционал?

        Ответить3 года назад #
      • Артем

        Это где там такое есть? чет немогу найти у себя.

        Ответить2.7 года назад #
  • Явер
    @

    Добрый день. Как сделать переадрессацию на страницу, где выполнен вход?
    Пробую так:

    <?php $url = get_permalink(); wp_loginout( $url ); ?>

    На левую страницу ведет.

    Ответить2 месяца назад #

Здравствуйте, !

Ваш комментарий