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

基于购物车小计的WooCommerce运费折扣配置求助

实现基于购物车小计的分级运费折扣(WooCommerce)

以下代码可实现你需要的分级运费折扣规则,核心逻辑是先获取购物车小计金额,再根据预设区间匹配对应折扣系数:

add_filter( 'woocommerce_package_rates', 'fa_woocommerce_package_rates', 10, 2 );
function fa_woocommerce_package_rates( $rates, $package ) {
    // 获取购物车小计金额
    $cart_subtotal = WC()->cart->subtotal;
    
    // 初始化折扣系数(默认无折扣)
    $discount_rate = 1;
    
    // 按门槛高低判断折扣等级(优先判断高门槛)
    if ( $cart_subtotal > 450 ) {
        // 超过R$450,70%折扣 → 支付原价的30%
        $discount_rate = 0.3;
    } elseif ( $cart_subtotal > 350 ) {
        // 超过R$350,50%折扣 → 支付原价的50%
        $discount_rate = 0.5;
    }
    
    // 遍历所有运费方式,应用折扣
    foreach ( $rates as $key => $rate ) {
        // 更新运费成本
        $rate->set_cost( $rate->get_cost() * $discount_rate );
        
        // 同步更新运费税费(若有税则生效)
        if ( $rate->get_tax() > 0 ) {
            $rate->set_tax( $rate->get_tax() * $discount_rate );
        }
        
        $rates[ $key ] = $rate;
    }

    return $rates;
}

关键说明

  • 门槛优先级:先判断>450的高门槛,避免低门槛条件覆盖高门槛规则
  • 折扣系数逻辑:70%折扣对应支付原价的30%(1-0.7=0.3),50%折扣对应支付原价的50%(0.5)
  • 税费同步:如果你的运费包含税费,同步更新税费金额可保证订单总价计算准确
  • 生效操作:修改代码后,需在WooCommerce后台「设置→配送」页面点击「清除缓存」,让新规则生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:15:39