我知道我可以使用端点/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 );