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

如何在WooCommerce中按购物车总额切换百分比/固定金额优惠券折扣?

嘿,这个需求其实用WooCommerce自带的功能或者几行代码就能轻松搞定,我给你两种实用方案,你可以根据自己的技术偏好来选:

方案一:使用WooCommerce内置优惠券功能(无需代码)

这种方法适合不太懂代码的用户,通过创建两个优惠券并设置金额限制来实现:

  • 第一步:创建第一个优惠券(针对购物车总额<200的10%折扣)
    1. 进入WooCommerce后台 → 营销 → 优惠券 → 点击「添加优惠券」
    2. 设置优惠券代码(比如UNDER200,方便识别)
    3. 折扣类型选择「百分比折扣」,折扣值填10
    4. 滚动到「使用限制」板块:
      • 「最低消费」设为0(或者留空,确保所有低于200的订单都能触发)
      • 「最高消费」设为199.99(这样刚好排除总额等于200的情况)
    5. 保存这个优惠券
  • 第二步:创建第二个优惠券(针对购物车总额≥200的固定20元折扣)
    1. 同样点击「添加优惠券」,设置代码比如OVER200
    2. 折扣类型选择「固定购物车折扣」,折扣值填20
    3. 滚动到「使用限制」板块:
      • 「最低消费」设为200(确保只有总额达标才能使用)
      • 「最高消费」留空(或者设一个极大值,比如999999,不限制上限)
    4. 保存优惠券
  • 第三步:可选设置自动应用
    如果不想让用户手动输入优惠券代码,可以用免费插件(比如Auto Apply Coupons)或者官方的WooCommerce Coupons扩展,设置两个优惠券的自动触发条件,让系统根据购物车金额自动匹配对应的折扣。
方案二:使用自定义代码实现(更灵活,单优惠券搞定)

如果你觉得创建两个优惠券太繁琐,用几行代码就能实现一个智能优惠券,自动根据购物车金额调整折扣:

  1. 先创建一个基础优惠券:
    • 后台添加新优惠券,代码设为SMARTDISCOUNT(你可以改成自己喜欢的)
    • 折扣类型随便选一个(比如百分比折扣,值填10就行,后面代码会覆盖这个设置)
    • 不需要设置任何使用限制,代码会处理金额判断
  2. 添加自定义代码:
    你可以把这段代码添加到主题的functions.php文件里,或者用专门的代码管理插件(比如Code Snippets,更安全,避免主题更新丢失代码):
    add_filter( 'woocommerce_coupon_get_discount_amount', 'dynamic_coupon_discount_based_on_cart_total', 10, 5 );
    function dynamic_coupon_discount_based_on_cart_total( $discount, $discounting_amount, $cart_item, $single, $coupon ) {
        // 替换成你刚才创建的优惠券代码
        $target_coupon_code = 'SMARTDISCOUNT';
        
        if ( $coupon->get_code() !== $target_coupon_code ) {
            return $discount;
        }
        
        // 获取购物车商品总额(不含运费和税费;如果要包含的话,改成 WC()->cart->get_total())
        $cart_total = WC()->cart->get_subtotal();
        $threshold = 200; // 设定的限额
        $fixed_discount = 20; // 限额以上的固定折扣
        $percent_discount = 0.1; // 限额以下的百分比折扣(10%)
        
        if ( $cart_total >= $threshold ) {
            // 总额达标,返回固定折扣金额
            return $fixed_discount;
        } else {
            // 总额未达标,返回百分比折扣金额
            return $cart_total * $percent_discount;
        }
    }
    
    注意:你可以根据需求修改代码里的$threshold、$fixed_discount和$percent_discount参数,比如把限额改成300,固定折扣改成30之类的。
  3. 测试验证:
    添加不同金额的商品到购物车,输入优惠券代码,看看总额190时是不是折扣19,总额210时是不是折扣20,确保逻辑正确。

小提醒

  • 方案一操作简单,管理直观,适合新手;方案二更灵活,后期调整规则只需要改代码参数就行。
  • 如果用代码方案,记得备份好文件,或者用代码插件来管理,避免主题更新导致代码丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:14:17