增加REST API中的每页限制

时间:2017-10-04 作者:shanebp

WP 4.8.2

我们需要增加对REST API请求响应的per\\u页面限制。afaik–限制为100

过去有一种方法可以过滤该参数,但该过滤器挂钩似乎不再工作:rest_post_collection_params

有没有办法在不破解代码的情况下提高这个限制?

我们理解增加限制的后果,但我们需要在单个调用中超过per\\u页,以便在不会分发的代码中使用。

2 个回复
最合适的回答,由SO网友:ssnepenthe 整理而成

通过该过滤器访问的集合参数似乎描述了可用的查询参数,但实际上没有在查询中使用。

我想你真正想要的是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\'].

SO网友:seb

经过一些测试后,它可用于以下方面:

function maximum_api_filter($query_params) {
    $query_params[\'per_page\']["maximum"]=200;
    return $query_params;
}
add_filter(\'rest_page_collection_params\', \'maximum_api_filter\');

结束

相关推荐

Php致命错误:无法将WP_REST_RESPONSE类型的对象用作wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php中

我向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