wp_referer_field()
Виводить/отримує приховане input поле форми зі значенням URI поточної сторінки (referer).
Посилання referer – це URI поточного запиту – $_SERVER['REQUEST_URI']
. Атрибут name дорівнює _wp_http_referer
.
<input type="hidden" name="_wp_http_referer" value="/current-page" />
Дивіться також:
Хуків немає.
Повертає
Строку
. HTML тег <input>
.
Використання
wp_referer_field($ echo);
-
$echo
(логічний) -
true – вивести на екран. false — повернути змінну для подальшої обробки.
Типово: true
Приклади
#1 Редирект назад
// Є операція if ( $doaction ) { // робимо щось } // Немає операції, повернемо користувача назад elseif ( ! empty($_REQUEST['_wp_http_referer']) ) { wp_safe_redirect( $_REQUEST['_wp_http_referer'] ); exit; }
#2 Додамо приховане поле _wp_http_referer та перевіримо його
Додамо до нашої форми приховане поле _wp_http_referer і потім перевіримо це поле, щоб переконатися, що запит надійшов саме з потрібної нам сторінки. Нехай сторінка з формою має УРЛ: /my-page
, тоді:
<form action="/proverka" method="post"> ... інші поля форми ... <?php wp_referer_field() ?> ... кнопка відправки форми ... </form>
wp_referer_field() виведе:
<input type="hidden" name="_wp_http_referer" value="/my-page" />
Тепер, після того як ми надішлемо дані, вони підуть на сторінку /proverka
, де ми зможемо перевірити поле _wp_http_referer так:
if( $_POST['_wp_http_referer'] === '/my-page' ){ // Перевірка пройдена, робимо щось із даними } else { // Перевірка не пройдено! }
список змін
З версії 2.0.4 | Введено. |
Код wp_referer_field() wp referer field WP 6.0.2
function wp_referer_field( $echo = true ) { $referer_field = '<input type="hidden" name="_wp_http_referer" value="' . esc_attr( wp_unslash( $_SERVER['REQUEST_URI'] ) ) . '" />'; if ($ echo) { echo $referer_field; } return $referer_field; }