因为您正在使用rest_prepare_{post_type}
过滤器,您可以将其限制为WP_REST_Posts_Controller::get_items()
回调,使用rest_{post_type}_query
过滤器:
add_filter( \'rest_post_query\', function( $args )
{
add_filter( \'rest_prepare_post\', \'api_remove_extra_data\', 12, 3 );
return $args;
} );
其中岗位类型为
post
.
请注意,通常我们总是希望返回过滤器值,我不遵循您的逻辑api_remove_extra_data()
回调。也许这是版本1的遗物。十、
这就是现在在版本2中定义过滤器的方式:
/**
* Filter the post data for a response.
*
* The dynamic portion of the hook name, $this->post_type, refers to post_type of the post
* being prepared for the response.
*
* @param WP_REST_Response $response The response object.
* @param WP_Post $post Post object.
* @param WP_REST_Request $request Request object.
*/
return apply_filters( "rest_prepare_{$this->post_type}", $response, $post, $request );