检测WordPress REST API响应?

时间:2017-01-21 23:25:32

标签: wordpress wordpress-rest-api

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

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

is_feed conditional tag无法将REST API响应识别为Feed并返回false

1 个答案:

答案 0 :(得分:2)

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

function is_rest() {
    return ( defined( 'REST_REQUEST' ) && REST_REQUEST );
}