wp_get_referer() WP 2.0.4
Получает реферер (referer) ссылку (URL), только если это внутренний URL - URL текущего сайта.
Вернет false, если реферер равен URL текущей страницы.
Эта функция — это объединение двух функций: wp_get_raw_referer() и wp_validate_redirect().
Реферер ссылка (URL) — это URL адрес страницы с которой пользователь пришел на текущую страницу.
Хуков нет.
Возвращает
Строку/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 get referer WP 5.6.2
function wp_get_referer() {
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;
}