You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WooCommerce中设置每件商品每日订单的最大数量限制

WooCommerce 商品每日下单量限制实现方案

核心用到的Hook

你需要用到两个核心Hook覆盖加购、下单两个关键节点,避免规则被绕过:

  • 加购阶段校验:woocommerce_add_to_cart_validation
    这个Hook会在用户将商品加入购物车时触发,提前拦截超出限额的加购请求
  • 结账提交阶段二次校验:woocommerce_checkout_process
    这个Hook会在用户提交订单前触发,避免用户绕过加购校验直接提交订单的情况

基础实现逻辑参考

你可以按照以下逻辑开发对应的校验函数:

  1. 先给商品新增自定义字段,用于存储每个商品的每日下单量上限数值
  2. 在校验函数中,查询当日该商品的有效订单总购买数量,参考查询代码:
// 统计当日指定商品的已售数量
$today_sold = 0;
$order_args = array(
    'post_type'      => 'shop_order',
    'post_status'    => array('wc-processing', 'wc-completed', 'wc-on-hold'),
    'posts_per_page' => -1,
    'date_query'     => array(
        array(
            'after'  => 'today midnight',
            'before' => 'tomorrow midnight',
        ),
    ),
);
$orders = wc_get_orders($order_args);
foreach ($orders as $order) {
    foreach ($order->get_items() as $item) {
        if ($item->get_product_id() == $target_product_id) {
            $today_sold += $item->get_quantity();
        }
    }
}
  1. 将查询到的当日销量和该商品设置的上限对比,超出则抛出错误提示,终止加购/下单流程

注意事项

  • 计算销量时需要包含已支付、处理中、待发货的有效订单,避免用户占单后取消导致的限额统计不准
  • 如果是多规格商品,可根据变体ID单独统计销量,或者按照父商品ID统一统计,根据你的业务需求调整即可

内容的提问来源于stack exchange,提问作者Adnan Shahin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:54:03