函数文档

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.

Return

bool True if Accepts or Content-Type headers contain application/json.
False otherwise.

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.