WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Купить персональные IPV4 и IPV6 прокси

wp_get_referer() WP 2.0.4

Получает реферер (referer) ссылку (URL), только если это внутренний URL - URL текущего сайта.

Вернет false, если реферер равен URL текущей страницы.

Эта функция — это объединение двух функций: wp_get_raw_referer() и wp_validate_redirect().

Реферер ссылка (URL) — это URL адрес страницы с которой пользователь пришел на текущую страницу.

Работает на основе: wp_get_raw_referer(), wp_validate_redirect()
✈ 1 раз = 0.001678с = очень медленно | 50000 раз = 2.26с = быстро | PHP 7.0.32, WP 5.1.1

Хуков нет.

Возвращает

Строку/false. Реферер URL или false.

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

$referer = wp_get_referer();

Примеры

#1 Выведем ссылку «Вернуться назад»

Допустим мы в админке сайта перешли по ссылке на страницу нашего плагина и нам нужно на этой странице среди прочего вывести ссылку «Вернуться назад».

Решение такой задачи может выглядеть так:

<?php

if( $return_url = wp_get_referer() ){
	?>
	<p><a class="button" href="<?php echo esc_url( $return_url ); ?>">Вернуться назад</a></p>
	<?php
}

Тут надо заметить, что такая ссылка будет показана, только если на страницу зашли с другой страницы. Но если на этой же странице, например, обновить данные формы, то реферер будет равен текущему URL и ссылка «Вернуться назад» не будет выведена. В этом случае, чтобы ссылка «Вернуться назад» работала как нужно, её надо куда-то сохранить при первом посещении страницы (например в транзитные опции) и при совпадении URL брать от туда.

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

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

Код wp get referer: wp-includes/functions.php WP 5.2.2

<?php
function wp_get_referer() {
	if ( ! function_exists( 'wp_validate_redirect' ) ) {
		return false;
	}

	$ref = wp_get_raw_referer();

	if ( $ref && $ref !== wp_unslash( $_SERVER['REQUEST_URI'] ) && $ref !== home_url() . wp_unslash( $_SERVER['REQUEST_URI'] ) ) {
		return wp_validate_redirect( $ref, false );
	}

	return false;
}

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

Из раздела: Без рубрики

Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться