WP 4.8.2
我们需要增加对REST API请求响应的per\\u页面限制。afaik–限制为100
过去有一种方法可以过滤该参数,但该过滤器挂钩似乎不再工作:rest_post_collection_params
有没有办法在不破解代码的情况下提高这个限制?
我们理解增加限制的后果,但我们需要在单个调用中超过per\\u页,以便在不会分发的代码中使用。
WP 4.8.2
我们需要增加对REST API请求响应的per\\u页面限制。afaik–限制为100
过去有一种方法可以过滤该参数,但该过滤器挂钩似乎不再工作:rest_post_collection_params
有没有办法在不破解代码的情况下提高这个限制?
我们理解增加限制的后果,但我们需要在单个调用中超过per\\u页,以便在不会分发的代码中使用。
通过该过滤器访问的集合参数似乎描述了可用的查询参数,但实际上没有在查询中使用。
我想你真正想要的是rest_{$this->post_type}_query
filter 这允许您在将参数传递给之前修改它们WP_Query::query()
.
还要记住,在API请求上per_page
可以设置arg,但在内部会转换为posts_per_page
对于实际查询参数。
编辑:我想我误解了原来的问题。。。
这个rest_{$this->post_type}_collection_params
确实描述了可用参数。
您应该能够设置per_page
最大值在$params[\'per_page\'][\'maximum\']
.
经过一些测试后,它可用于以下方面:
function maximum_api_filter($query_params) {
$query_params[\'per_page\']["maximum"]=200;
return $query_params;
}
add_filter(\'rest_page_collection_params\', \'maximum_api_filter\');
我向WordPress添加了一个自定义端点,如下所示: add_action( \'rest_api_init\', function () { register_rest_route( \'menc/v1\', \'/crosscat/(?P[\\w-]+)/(?P[\\w-]+)\', array( \'methods\' => \'GET\', \'callback\' => \'dept_cat_api\',&#x