wp_referer_field() WP 2.0.4
Выводит/получает скрытое 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_save_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 { // Проверка не пройдена! }