这是一个关于WordPress API /wp-json的简单问题。我正在查询WordPress中某个类别过滤的一些数据。我的问题是我如何控制从我的获取请求返回的结果数量...默认返回似乎返回大约11个最近的结果。有什么方法可以让它只返回1(最近),或者像100个帖子。我可以返回的最小和最大金额是多少?它的语法是什么?这是我的默认请求:
http://thisismywebsitewherewordpresslives.com/wp-json/posts?fiter[category_name]=Some Category Name I want to query&filter[order]=ASC
9条答案
按热度按时间kx1ctssn1#
如果您使用的是WordPress REST API的v2版本,那么当前控制返回结果数量的方法似乎是:
将100替换为所需的计数。
如果你使用的是自定义帖子类型,请用自定义帖子类型替换帖子。另外,在配置自定义帖子类型时,请确保设置
'show_in_rest' => true
。jc3wubiy2#
将filter[posts_per_page]参数添加到查询中,以限制API返回的结果数量。
上述查询应仅返回2个结果。查询参数列表显示在https://github.com/WP-API/WP-API/blob/master/docs/routes/routes.md#retrieve-posts
q1qsirdb3#
正如另一个人所说:(v2)
但是如果你想获得更多的下一个职位:(* 页码 *)
文档:http://v2.wp-api.org/reference/posts/(滚动到列出帖子)
6jjcrrmo4#
我上面的建议不再正确。现在您需要用途:
更改数字以检索更多或更少的帖子。如有必要,将“帖子”更改为您的自定义帖子类型,并确保在注册自定义帖子类型时设置
'show_in_rest' => true
。**注意:**在插件的早期测试版本(2.0-beta13.1)中,posts_per_page的值设置为-1,但在最新版本中似乎不起作用。现在看来,您必须在端点中定义一个值。
0h4hbjxa5#
目前API强制返回99个帖子的限制。所以最大值是
website.com/wp-json/wp/v2/posts/?&per_page=99
,也就是说,看起来你可以修改以允许更多的帖子。这里有一个关于这个的讨论:https://github.com/WP-API/WP-API/issues/2914gev0vcfq6#
您可以更改:
在获取url中添加
?per_page=500
示例:
https://domain.pl/wp-json/wp/v2/books?per_page=500
chhkpiq47#
V2中的参数为“每页”-http://v2.wp-api.org/reference/posts/
eanckbw98#
我很惊讶没有人提到使用WordPress为这种情况创建的本地过滤器。
我能够在默认情况下返回所需数量的帖子,同时仍然允许
$_GET['per_page']
参数像这样工作:我确实发现你不能设置
$args['posts_per_page'] = -1;
,这会导致一个错误被抛出 *,你可以在这里看到 *。您可以在闭包/回调/过滤器中抛出任何逻辑来设置
$args['posts_per_page']
。7fyelxc59#
在提到亚伦Nusselbaum回答,但纠正了几件事:
例如: