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

WooCommerce 按品类设置最小订购量(单品类总计3件)代码需求

解决WooCommerce指定品类总订购量最少3件的问题

原代码的问题

  • 逻辑错误:原代码检查单个商品的订购量是否达标,而非目标品类下所有商品的总数量
  • 参数错误:最小订购量设置为2,不符合需求的3
  • 提示文本不匹配:提示内容里的"Notenexemplare"和目标品类"Vinos"不符,且描述逻辑错误

修正后的代码

add_action( 'woocommerce_check_cart_items', 'wc_min_category_total_qty' );
function wc_min_category_total_qty() {
    $target_category = 'Vinos'; // 目标产品品类
    $min_total_qty  = 3; // 该品类的最小总订购量
    $category_total = 0; // 初始化品类总数量

    // 遍历购物车商品,计算目标品类的总数量
    foreach( WC()->cart->get_cart() as $cart_item ) {
        if( has_term( $target_category, 'product_cat', $cart_item['product_id'] ) ) {
            $category_total += $cart_item['quantity'];
        }
    }

    // 检查总数量是否达标,不达标则显示错误提示并阻止结账
    if( $category_total > 0 && $category_total < $min_total_qty ) {
        wc_clear_notices();
        wc_add_notice( sprintf( '请注意:品类%s的最小订购量为%s件。当前购物车中该品类商品总数量为%s件,请补充选购。', $target_category, $min_total_qty, $category_total ), 'error' );
    }
}

代码说明

  • 遍历购物车所有商品,累加目标品类下所有商品的订购数量
  • 仅当购物车中存在目标品类商品,且总数量小于3时,才触发错误提示
  • 错误提示会清空其他通知,确保用户能清晰看到要求
  • 支持同一款商品买3件,或同品类下3款不同商品各买1件的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 19:22:33