Функция WP_GET_RAW_REFERER()
Функция wp_get_raw_referer() помогает получить ненадежный (непроверенный) адрес ссылки, откуда пользователь пришел, из переменной '_wp_http_referer' или из HTTP-заголовка ссылок.
Если переменная '_wp_http_referer' не является строкой, то она будет проигнорирована.
Важно: Не используйте эту функцию для перенаправлений. Вместо этого используйте wp_get_referer().
Возвращаемое значение
Возвращает строку с URL-адресом источника или false в случае ошибки.
Пример использования
wp_get_raw_referer();
Пример
Проверка наличия ссылки-реферера
Допустим, вы находитесь на странице http://example.com/foo и переходите на страницу http://example.com/bar, где срабатывает следующий код:
$referer = wp_get_raw_referer();
if( $referer ){
echo $referer;
}
На экране будет выведен URL страницы, с которой вы пришли:
http://example.com/foo
Код функции
Функция wp_get_raw_referer() реализована следующим образом:
function wp_get_raw_referer() {
if ( ! empty( $_REQUEST['_wp_http_referer'] ) && is_string( $_REQUEST['_wp_http_referer'] ) ) {
return wp_unslash( $_REQUEST['_wp_http_referer'] );
} elseif ( ! empty( $_SERVER['HTTP_REFERER'] ) ) {
return wp_unslash( $_SERVER['HTTP_REFERER'] );
}
return false;
}
Эта функция проверяет, есть ли значение в $_REQUEST['_wp_http_referer'] и является ли оно строкой. Если да, то возвращает это значение. Если нет, то функция проверяет, есть ли ссылка в заголовке HTTP. Если и там её нет, возвращается false.
Заключение
Функция wp_get_raw_referer() полезна для получения информации о прошлых переходах пользователей. Однако следует помнить, что она не рекомендуется для использования в случаях перенаправления. Для этих целей лучше применять wp_get_referer().