Как лучше всего определить реферера в WordPress?
Я ищу специфичный для WordPress способ определить любого реферера. Есть идеи? Я знаю, как это сделать на чистом PHP, но хочу узнать, есть ли специальная WP-функция для этого?
РЕДАКТИРОВАНО: вот что я пытаюсь протестировать =>
$referer = wp_get_referer();
// Проверяем, содержит ли реферер ссылку на wordpress.org
if (strpos($referer, 'http://wordpress.org') !== false) echo 'вы пришли с wordpress.org';

Лучший способ проверить реферер зависит от того, что именно вы пытаетесь сделать. Вы можете использовать wp_get_referer() или wp_get_original_referer(), но если вы хотите проверить реферер из соображений безопасности, вам определенно следует использовать другие функции, такие как check_admin_referer(), check_ajax_referer(), wp_referer_field() или другие функции WordPress, связанные с Nonces.

Вы можете получить его с помощью функций wp_get_referer() и wp_get_original_referer().

Хорошо, спасибо, ожидал больше деталей (что-то вроде вики) -> но такова эта функция

Вы можете получить больше информации о ней из страниц кодекса, которые я привязал к названиям функций.

Разница между двумя функциями заключается в том, что если страница отправляет форму на саму себя, wp_get_referer()
вернет false, а wp_get_original_referer()
вернет исходный реферер. Однако обратите внимание, что обе используют $_SERVER['HTTP_REFERER']
, который, как сказано в документации PHP, "Не все пользовательские агенты его устанавливают, а некоторые предоставляют возможность изменять HTTP_REFERER как функционал. Вкратце, ему нельзя полностью доверять." @JMau

используйте wp_get_referer();
для получения реферера из '_wp_http_referer', HTTP реферера или текущей страницы. Для получения дополнительной информации читайте кодекс

не сильно, но мы оба писали ответ в одно и то же время, когда я собирался нажать кнопку отправки ответа, появилось уведомление, но я опоздал, нажал и ответ был опубликован.
