WooCommerce 近期优化了性能,其中一项改进就是可以控制结账页面支付过程的 API 请求频率。这个功能可以在 WooCommerce 的高级设置里找到,而且它不是实验性功能,而是已经稳定可用的工具。

这个设置默认是关闭的。启用后,频率限制只会影响 POST /checkout
请求和结账块的下单流程。
默认情况下,WooCommerce 设定的限制是每 60 秒最多 3 次请求。
限制结账页 API 的频率有什么用?
这个设置的作用是在结账过程对 API 请求的频率进行限制,比如在 X 秒内最多允许 X 次请求。这样做的目的是防止在支付的时候因过多的 API 调用导致服务器压力过大,避免因过度查询关键端点(endpoints)而影响网站性能,从而保障商店的稳定运行。
可以自定义频率限制?
如果想修改默认的请求次数或时间间隔,可以使用以下代码进行调整:
/* 自定义结算页API频率 */
add_filter( 'woocommerce_store_api_rate_limit_options', function() {
return [
'enabled' => false, // 开启/关闭访问频率. 默认: false
'proxy_support' => false, // 开启/关闭 Proxy 匹配. 默认: false
'limit' => 25, // 每个时间范围内的请求频率. 默认: 25
'seconds' => 10, // 时间范围(以秒为单位). 默认: 10
];
} );
通过自定义代码插件添加或者添加到主题的 functions.php 上。
如果你是插件挂的,那么还有一个插件,Rate Limiting UI,可以更直观和简单的方式设置这些限制,包括频率和时间范围。
