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