# WP_GET_REFERER() │ WP 2.0.4
Функция **WP_GET_REFERER()** позволяет получить информацию о предыдущем URL (ссылке), с которой пришел пользователь. Эта информация хранится в переменной '_wp_http_referer' или в HTTP-заголовках.
Если предыдущий URL совпадает с текущим, функция вернет значение **false**.
### Использует
- wp_get_raw_referer()
- wp_validate_redirect()
**Производительность:**
- 1 раз — 0.001678 сек (очень медленно)
- 50000 раз — 2.26 сек (быстро)
- PHP 7.0.32, WP 5.1.1
**Хуки:** Нет.
## Возвращаемое значение
- **Строка | false**: URL предыдущей страницы при успешном выполнении, false при неудаче.
## Применение
Чтобы использовать функцию, вам нужно просто вызвать ее:
```php
wp_get_referer();
Примеры
Пример 1: Отображение ссылки "Назад"
Допустим, вы находитесь в административной панели сайта и перешли на страницу вашего плагина. Вам нужно отобразить ссылку "Назад". Вот как это можно сделать:
$return_url = wp_get_referer();
if( $return_url ){
?>
Обратите внимание, что эта ссылка будет отображаться только в том случае, если вы пришли на эту страницу с другой. Если же вы обновите страницу, реферер будет равен текущему URL, и ссылка "Назад" не появится. Чтобы обеспечить корректную работу этой ссылки, можно сохранить предыдущий URL при первом посещении страницы (например, используя временные опции) и извлекать его оттуда при необходимости.
Пример 2: Что выводит функция
Вы можете просто вывести реферер с помощью следующего кода:
echo wp_get_referer(); // /some-page?foo=bar
История изменений
- С версии 2.0.4 — функция была внедрена.
Код функции
Вот как выглядит код функции wp_get_referer() в файле wp-includes/functions.php:
function wp_get_referer() {
// Возврат сразу, если функция wp_validate_redirect() не определена.
if ( ! function_exists( 'wp_validate_redirect' ) ) {
return false;
}
$ref = wp_get_raw_referer();
if ( $ref && wp_unslash( $_SERVER['REQUEST_URI'] ) !== $ref
&& home_url() . wp_unslash( $_SERVER['REQUEST_URI'] ) !== $ref
) {
return wp_validate_redirect( $ref, false );
}
return false;
}
Связанные функции
_doing_it_wrong()cache_javascript_headers()do_robots()download_url()get_privacy_policy_url()maybe_convert_table_to_utf8mb4()nocache_headers()show_admin_bar()wp_check_browser_version()wp_die()wp_editor()wp_get_raw_referer()wp_install_defaults()wp_magic_quotes()wp_mail()wp_oembed_get()wp_redirect()wp_safe_redirect()wp_star_rating()wp_timezone_choice()wp_validate_redirect()