wp_is_json_request()
云策文档标注
概述
wp_is_json_request() 函数用于检查当前请求是否为 JSON 请求或期望 JSON 响应。它通过检查 HTTP 头中的 Accept 或 Content-Type 是否包含 application/json 来返回布尔值。
关键要点
- 函数返回布尔值:如果 Accept 或 Content-Type 头包含 application/json,则返回 true;否则返回 false。
- 内部调用 wp_is_json_media_type() 函数来验证媒体类型。
- 该函数自 WordPress 5.0.0 版本引入。
代码示例
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;
}注意事项
- 该函数依赖于 $_SERVER 超全局变量中的 HTTP 头信息,确保服务器环境正确设置这些头。
- 相关函数 wp_is_json_media_type() 用于验证字符串是否为有效的 JSON 媒体类型。
- 在 WordPress 开发中,此函数常用于确定请求的格式,以适配 JSON API 或 AJAX 处理。
原文内容
Checks whether current request is a JSON request, or is expecting a JSON response.
Source
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;
}
Changelog
| Version | Description |
|---|---|
| 5.0.0 | Introduced. |