http_request_args
Позволяет изменить параметры запроса HTTP API.
Использование
add_filter( 'http_request_args', 'wp_kama_http_request_args_filter', 10, 2 ); /** * Function for `http_request_args` filter-hook. * * @param array $parsed_args An array of HTTP request arguments. * @param string $url The request URL. * * @return array */ function wp_kama_http_request_args_filter( $parsed_args, $url ){ // filter... return $parsed_args; }
- $parsed_args(массив)
- Массив параметров запроса HTTP, который установлен для текущего HTTP запроса.
- $url(строка)
- URL запроса.
Примеры
#1 Отключим проверку SSL сертификата для всех HTTP запросов
Такое отключение может пригодится для локальной разработки, поэтому в коде ниже сначала делается проверка - находимся ли мы в локальной среде разработки:
// Отключим проверку SSL для `wp_remote_*()`, если мы на локалке. if( 'local' === wp_get_environment_type() ){ add_filter( 'http_request_args', function( $parsed_args ){ $parsed_args['sslverify'] = false; return $parsed_args; } ); }
Этот код подразумевает что вы используете константу WP_ENVIRONMENT_TYPE в файле wp-config.php для установки текущей среды разработки.
Этот код должен срабатывать до создания самого запроса с помощью HTTP API. Удобнее всего его разместить в обязательных плагинах, можно также оформить как обычный плагин или просто добавить в functions.php темы, потому что как правило HTTP запросы делаются после события init.
Список изменений
С версии 2.7.0 | Введена. |
Где вызывается хук
http_request_args
wp-includes/class-wp-http.php 232
$parsed_args = apply_filters( 'http_request_args', $parsed_args, $url );