Описание http_request_host_is_external
— Filter
Хук http_request_host_is_external позволяет изменять логику определения, является ли хост внешним при выполнении HTTP-запросов. Он срабатывает перед отправкой запроса и позволяет разработчикам настроить, какие хосты будут считаться внешними, что может быть полезно для управления доступом к API и другим ресурсам
Примеры использования
Пример изменения логики определения внешнего хоста для конкретного домена:
add_filter('http_request_host_is_external', function($is_external, $host) {
if ($host === 'example.com') {
return false;
}
return $is_external;
});
В этом примере мы считаем ‘example.com’ внутренним хостом
Пример добавления логики для нескольких хостов:
add_filter('http_request_host_is_external', function($is_external, $host) {
$internal_hosts = ['mywebsite.com', 'localhost'];
if (in_array($host, $internal_hosts)) {
return false;
}
return $is_external;
});
Здесь мы добавляем несколько хостов в список внутренних
Пример использования хука для блокировки всех внешних запросов:
add_filter('http_request_host_is_external', function($is_external, $host) {
return true;
});
Этот код блокирует все внешние запросы, возвращая true для любого хоста
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить поведение HTTP-запросов в зависимости от конкретных хостов
– Производительность
Убедитесь, что код внутри хука оптимизирован, чтобы избежать излишней нагрузки на производительность
– Предупреждения
Будьте осторожны с изменением поведения запросов, так как это может повлиять на функциональность плагинов и тем
Альтернативы
Тип: filter
Этот хук позволяет изменять аргументы HTTP-запросов, включая заголовки, параметры и т.д.
Используйте его, если вам нужно изменить параметры запроса, а не только проверять, является ли хост внешним