我知道我可以使用端点/wp-json/wp/v2/posts/{id} 去取信。
我正在构建一个完全依赖JSON API及其端点的WordPress实现。这是一个角度SPA实现,这意味着当通过API发出请求时,我的挂钩需要启动。
因此,如果我想为帖子记录视图,我想使用\'posts_selection\'. 我的第一个问题是,如果通过/wp-json/wp/v2/posts/{id}
我的第二个问题是,是否还有另一个钩子或其他东西在对帖子进行API查询时也会触发,但会通过{id} 我的职务是什么?
因为当我这样做的时候:
function check_assembled_query( $query ) {
var_dump( $query );
}
add_action( \'posts_selection\', \'check_assembled_query\' );
$query 没有我想要的信息。我想要以下工作流:
使用/wp-json/wp/v2/posts/{id} 来自AngularJS让后端识别此请求,并使用update_post_meta() 需要一个职位id.将请求的帖子与帖子的所有信息一起返回到我的JavaScript函数,包括前面提到的元信息视图计数EDIT: 我接受了post_selection 不触发REST API,因为在执行此操作时:
function check_assembled_query( $query ) {
var_dump( $query );
die();
}
add_action( \'posts_selection\', \'check_assembled_query\' );
我只在常规请求上获得转储,而不是对JSON API的请求。
最合适的回答,由SO网友:Nathan Johnson 整理而成
我原来的答案全错了,所以全部删除了。
无论是posts_selection 也没有wp 在REST API请求期间激发钩子。
你需要的钩子是rest_pre_echo_response. 此挂钩传递三个参数:
将服务器实例发送到客户端的响应数据
用于生成响应的请求由于您需要帖子ID,您可以执行以下操作:
add_filter( \'rest_pre_echo_response\', function( $response, $object, $request ) {
//* Get the post ID
$post_id = $response[ \'id\' ];
//* Make sure of the post_type
if( \'post\' !== $response[ \'post\' ] ) return $response;
//* Do something with the post ID
//* Return the new response
return $response;
}, 10, 3 );