好像不支持,略过docs
以下是一些解决方法:
1)自定义modified_after休息查询参数
我们可以为post 帖子类型添加modified_after 休息查询参数:
add_filter( 'rest_post_collection_params', function( $query_params ) {
$query_params['modified_after'] = [
'description' => __( 'Limit response to posts published after a given ISO8601 compliant date.' ),
'type' => 'string',
'format' => 'date-time',
];
return $query_params;
} );
然后相应地修改其余的帖子查询:
add_filter( 'rest_post_query', function( $args, $request ) {
if( isset( $request['modified_after'] ) && ! isset( $request['after'] ) ) {
$args['date_query'][0]['after'] = $request['modified_after'];
$args['date_query'][0]['column'] = 'post_modified';
}
return $args;
}, 10, 2 );
我们让after 优先于modified_after。
示例:
/wp-json/wp/v2/posts??modified_after=2017-11-07T00:00:00
注意事项:
我们可能在post_modified_gmt 列中使用了modified_gmt_after。
使用比modified_after 更独特的名称可能会更好,以避免将来可能发生名称冲突。
要将其扩展到其他帖子类型,我们可以使用rest_{$post_type}_collection_params 和rest_{$post_type}_query 过滤器。
另一种选择是创建自定义端点和参数,这需要做更多的工作。当然,我们是否应该在当前的 rest api 中添加自定义参数是一个问题。在某些情况下应该没问题,因为我们不会删除或修改响应,也不会更改其他参数的工作方式。
2)自定义date_query_columnrest查询参数
另一种方法是引入自定义date_query_column 休息查询参数:
add_filter( 'rest_post_query', function( $args, $request ) {
if ( ! isset( $request['before'] ) && ! isset( $request['after'] ) )
return $args;
if( isset( $request['date_query_column'] ) )
$args['date_query'][0]['column'] = $request['date_query_column'];
return $args;
}, 10, 2 );
add_filter( 'rest_post_collection_params', function( $query_params ) {
$query_params['date_query_column'] = [
'description' => __( 'The date query column.' ),
'type' => 'string',
'enum' => [ 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt', 'comment_date', 'comment_date_gmt' ],
];
return $query_params;
} );
如果设置了after 或before 参数,这将可用。
示例:
/wp-json/wp/v2/posts??after=2017-11-07T00:00:00&date_query_column=post_modified
希望对你有帮助!