17713433920 info@mac163.com

通常,与WordPress REST API响应关联的默认值非常合理。例如,在一个API响应中,您真的需要获得超过100个结果的情况并不多。支持分页,因此在大多数情况下,加载更多结果只是提出额外请求。

有时你必须违反规则
但是,有时默认情况下不会删除它,您需要进行一些自定义。我遇到的一个这样的例子是尝试将数据从WordPress REST API填充到移动应用程序中。我们需要同步大约7,000条记录。一次请求100条记录将导致70个请求。假设每个请求花费1秒钟,则同步需要一分多钟…而不是您想要的移动应用初始用户体验。然而,通过简单地碰撞最大值记录数量达到500我们能够将请求数量减少到14个; 比以前快5倍。

增加从WordPress REST API返回的最大结果
增加从WordPress REST API返回的最大结果

但要小心打破规则
请记住,您应该有充分的理由来增加最大结果数。滥用此功能可能会导致性能和安全问题。设置值越高,返回结果所需的处理能力和内存就越多。对于更受欢迎的网站,这可能会让您受到拒绝服务攻击。

请不要允许无限制的查询。所以不要将最大值设置为99999999.我认为超过500可能并不聪明。

此外,不要增加整个板的最大值。仅增加您需要更改的特定帖子类型的最大值。

如何打破规则
以下是如何增加每个响应返回的最大项目的示例:

<?php

add_filter( 'rest_post_collection_params', function ( $params, WP_Post_Type $post_type ) {
if ( 'post' === $post_type->name && isset( $params['per_page'] ) ) {
$params['per_page']['maximum'] = 200;
}

return $params;
}, 10, 2 );

微信二维码

微信扫描二维码联系我们!
我们在微信上24小时期待你的声音
提供外贸路由器设备产品,轻松翻墙,解答:WP主题推荐,WP网站建设,Google SEO,百度SEO,专业服务器环境搭建等!


需要提供WordPress主题/插件的汉化服务可以随时联系我们!另外成品WordPress网站以及半成品WordPress网站建设,海外Google SEO优化托管服务,百度SEO优化托管服务,Centos/Debian服务器WP专用环境搭建,WP缓存服务器搭建,我们都是你的首选,拥有多年WP开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!
回到顶部