WordPress как на ладони
wordpress jino

wp_logout_url() WP 2.7.0

Получает ссылку (УРЛ) на "выход" из сайта для авторизованных пользователей.

Используется в: wp_loginout().
Хуки из функции:
Возвращает

УРЛ, который ведет на "выход" для залогиненных пользователей.

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

<?php echo wp_logout_url( $redirect ); ?>
$redirect(строка)
УРЛ на который перекинет после выхода.
По умолчанию: нет

Примеры

#1. Выведем ссылку в любом месте шаблона:

<a href="<?php echo wp_logout_url(); ?>" title="Выход">Выход</a>

#2. Выйти и остаться на текущей странице:

<a href="<?php echo wp_logout_url( get_permalink() ); ?>" title="Выход">Выход</a>

#3. Выйти с переходом на главную страницу:

<a href="<?php echo wp_logout_url( home_url() ); ?>" title="Выход">Выход</a>

#4 Выход и редирект на другой сайт

Допустим после выхода нужно перенаправить пользователя на другой сайт (на под сайт мультисети). Для такой возможности нужно добавить сайт в белый список, через фильтр allowed_redirect_hosts.

<?php
add_filter('allowed_redirect_hosts','allowed_redirect_site');
function allowed_redirect_site( $allowed ){
	$allowed[] = 'myredirectsite.com';
	return $allowed;
}
?>
<a href="<?php echo wp_logout_url( 'http://myredirectsite.com' ); ?>">Выход</a>

Код wp logout url: wp-includes/general-template.php WP 4.8.2

<?php
function wp_logout_url($redirect = '') {
	$args = array( 'action' => 'logout' );
	if ( !empty($redirect) ) {
		$args['redirect_to'] = urlencode( $redirect );
	}

	$logout_url = add_query_arg($args, site_url('wp-login.php', 'login'));
	$logout_url = wp_nonce_url( $logout_url, 'log-out' );

	/**
	 * Filters the logout URL.
	 *
	 * @since 2.8.0
	 *
	 * @param string $logout_url The HTML-encoded logout URL.
	 * @param string $redirect   Path to redirect to on logout.
	 */
	return apply_filters( 'logout_url', $logout_url, $redirect );
}

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

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

wp_logout_url 5 комментариев
  • Roman

    Здравствуйте, а как сделать что бы при выходе пропадала ссылка "выход"?

    Ответить2.8 года назад #
    • campusboy1848 cайт: wp-plus.ru

      Создайте условие, что если пользователь авторизован, то эта ссылка не видна.

      1
      Ответить2.8 года назад #
  • Виктор @

    Подскажите, как сделать, чтобы из любого файла не темы WordPress получить доступ к БД? Потому что я вставляю ссылку на "Выход" для авторизованных пользователей, но она не работает. Срабатывает только в файлах темы, а мне нужно сделать ее в файле меню (у меня меню сайта на отдельном файле в корне сайта).

    Ответить1.1 года назад #
    • Kama4464

      Для этого нужно подключить среду WordPress. Но делать этого я не рекомендую - лишняя нагрузка...

      Лучше просто пропишите туда ссылку на выход вручную... Может где нужно свой PHP код дописать...

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

        Я помню у вас гдето было написано как подключиться к БД. Там всего три строки было вроде. Просто мне нужно рядом с ссылкой на выход еще и логин пользователя вывести. А без бд его не узнать...

        Ответить1.1 года назад #

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

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