1

检测 WordPress 响应是否由 REST API 生成的最佳方法是什么?似乎还没有任何条件标签,例如is_feed()or is_page()

WordPress 生命周期后期的一些钩子可能会改变输出,例如天真地附加 html 标签或调试内容。问题是,如果响应是来自 REST API 的 JSON blob,则附加内容将使 JSON 响应无效。

is_feed条件标签不会将 REST API 响应识别为 feed 和return false

4

1 回答 1

5

wp-includes/rest-api.php中的rest_api_loaded方法定义了一个常量,它被有用地标记为“这是否是一个 REST 请求”。然后在class-wp-query.php中检查该常量。这是一个基于该检查的简单小条件函数:REST_REQUESTis_rest

function is_rest() {
    return ( defined( 'REST_REQUEST' ) && REST_REQUEST );
}
于 2017-01-22T00:02:36.130 回答