wp_referer_field

Создает скрытое поле формы input со значением URL текущей страницы, чтобы затем проверить это значение через HTTP_REFERER.

Значением поля input будет значение переменной $_SERVER[‘REQUEST_URI”].
Имя поля: name=”_wp_http_referer”

<input type="hidden" name="_wp_http_referer" value="/referer-page" />

Хуков нет.

Возвращает

HTML тег <input>.

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

wp_referer_field( $echo );
$echo(логический)
Вывести на экран или возвратить в переменную для дальнейшей обработки? По умолчанию, выводит на экран.
По умолчанию: true

Примеры

  1. Добавим в нашу форму скрытое поле _wp_http_referer и затем проверим это поле, чтобы убедится, что запрос пришел именно с нужной нам страницы. Страница с формой пусть имеет УРЛ: /send-data.
    Код нашей формы:
<form action="/proverka" method="post">
... другие поля формы ...
<?php wp_referer_field() ?>
... кнопка отправки формы ...
</form>

// wp_referer_field выведет:
// <input type="hidden" name="_wp_http_referer" value="/send-data" />

Теперь, после того как мы отправим данные они уйдут на страницу /proverka, где мы сможет проверить поле _wp_http_referer так:

if( $_POST['HTTP_REFERER'] == '/send-data' ){
	// Проверка пройдена, делаем что-то с данными
}
else {
	// Проверка не пройдена!
}

Код из


wp-includes/functions.php

WP 4.7.2

<?php
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;
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *