wp_validate_redirect()
Перевіряє зазначену URL-адресу на можливість використовувати його для редиректу.
За замовчуванням дозволено лише URL поточного сайту (внутрішні URL адреси).
Якщо вказана URL-адреса не пройшла перевірку, то функція поверне значення другого параметра $default .
Що робить функція:
- Додає
http:
протокол для посилань без протоколу (//
) - Перевіряє протокол, дозволені лише
http
йhttps
. - Перевіряє інші компоненти URL-адреси.
- Порівнює домен зазначеного URL з білим списком доменів, на які дозволено редирект. За замовчуванням у білому списку міститься лише домен поточного сайту. Розширити білий список можна через фільтр allowed_redirect_hosts .
Щоб очистити посилання на редирект, використовуйте wp_sanitize_redirect()
Це init .
Заміна функції (перевизначення) — у плагіні можна створити функцію з такою самою назвою, тоді вона замінить поточну функцію.
1 раз – 0.003549 сек
(дуже повільно) | 50000 разів – 2.44 сек
(швидко) |
PHP 7.0.32, WP 5.1.1
(дуже повільно) | 50000 разів – 2.44 сек
(швидко) |
PHP 7.0.32, WP 5.1.1
Хуки з функції
Повертає
Строку
. Вказані URL-адреса, якщо він пройшов перевірку або значення $default параметра.
Використання
wp_validate_redirect($location, $default);
-
$location
(рядок) (обов’язковий) - URL-адресу, яку потрібно перевірити.
-
$default
(рядок) -
Дефолтна URL, яка поверне функція, якщо Url з параметра $location не пройде перевірку.
За замовчуванням: ”
Приклади
#1 Демонстрація роботи функції
Передбачається, що функція запускалася на сайті wp-kama.ru
.
echo wp_validate_redirect( 'http://foo.bar'); //> '' echo wp_validate_redirect( 'http://foo.bar', 'http://my.site'); //> http://my.site echo wp_validate_redirect('//wp-kama.ru/foo'); //> http://wp-kama.ru/foo echo wp_validate_redirect( 'https://wp-doc.com/foo'); //> https://wp-doc.com/foo
список змін
З версії 2.8.1 | Введено. |