WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru WPmentor - Ищем топовых специалистов по WordPress, чтобы помочь вам заработать

wp_logout_url() WP 2.7.0

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

Результат пропускается через esc_html().

Является основой для: wp_loginout()
Хуки из функции
Возвращает

Строку. УРЛ, который ведет на "выход".

Заметка: URL обрабатывается функцией esc_html(), когда пропускается через функцию wp_nonce_url().

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

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[] = 'example.com';
	return $allowed;
}
?>
<a href="<?php echo wp_logout_url( 'http://example.com' ); ?>">Выход</a>

Список изменений

С версии 2.7.0 Введена.

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

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

	$logout_url = add_query_arg( $args, site_url( 'wp-login.php?action=logout', '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вязанные функции

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

Еще из тегов шаблона: Основные

7 комментов
  • Roman

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

    Ответить02.Дек.2014 в 20:19 #
    • @ campusboy3504 www.youtube.com/c/wpplus

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

      1
      Ответить05.Дек.2014 в 11:50 #
  • @ Виктор

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

    Ответить07.Авг.2016 в 13:59 #
    • Kama7680

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

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

      Ответить07.Авг.2016 в 15:30 #
      • @ виктор

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

        Ответить07.Авг.2016 в 15:38 #
  • андрей

    Подскажите, а где, в каком месте искать эту функцию в wordpress, чтоб отредактировать ???
    Спасибо

    Ответить29.Мар.2018 в 18:56 #
    • @ campusboy3504 www.youtube.com/c/wpplus

      Нельзя редактировать файлы движка, от этого карма портится.

      1
      Ответить29.Мар.2018 в 18:58 #