wp_is_json_request()
Проверяет, является ли текущий запрос запросом JSON или ожидает ответа JSON.
Проверяются следующие условия:
false !== strpos( $_SERVER['HTTP_ACCEPT'], 'application/json' ) // или 'application/json' === $_SERVER['CONTENT_TYPE']
1 раз — 0.000001 сек (скорость света) | 50000 раз — 0.02 сек (скорость света) | PHP 7.2.5, WP 5.0
Хуков нет.
Возвращает
true|false
.
true
— когда запрос ожидает JSON ответ ($_SERVER['HTTP_ACCEPT']
или$_SERVER['CONTENT_TYPE']
содержатapplication/json
).false
— в остальных случаях.
Использование
wp_is_json_request();
Примеры
#1 Вернем JSON данные когда запрос их ожидает
$data = [ 'foo'=>'bar' ]; if( wp_is_json_request() ){ echo json_encode( $data ); } else { echo serialize( $data ); }
Список изменений
С версии 5.0.0 | Введена. |
Код wp_is_json_request() wp is json request WP 6.6.2
function wp_is_json_request() { if ( isset( $_SERVER['HTTP_ACCEPT'] ) && wp_is_json_media_type( $_SERVER['HTTP_ACCEPT'] ) ) { return true; } if ( isset( $_SERVER['CONTENT_TYPE'] ) && wp_is_json_media_type( $_SERVER['CONTENT_TYPE'] ) ) { return true; } return false; }