You need to enable JavaScript to run this app. WooCommerce结账选择自提时取消COD货到付款额外手续费咨询
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce结账选择自提时取消COD货到付款额外手续费咨询

WooCommerce COD手续费自提豁免调整方案

调整逻辑

  • 原有代码仅在选择COD支付时加收1.7欧元手续费,现在新增配送方式校验:如果用户选择仓库自提,直接跳过手续费加收逻辑
  • 原有前端仅监听支付方式切换触发结账更新,现在新增配送方式切换的监听,保证手续费实时同步
  • 代码默认匹配WooCommerce默认自提配送方式ID local_pickup,如果你使用了自定义的自提插件/自定义ID,替换对应判断字段即可

完整可用代码

// 货到付款手续费加收逻辑,自提场景豁免
add_action( 'woocommerce_cart_calculate_fees', 'custom_handling_fee', 10, 1 );
function custom_handling_fee ( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;
    
    // 获取当前选中的配送方式,判断是否为自提
    $chosen_shipping = WC()->session->get('chosen_shipping_methods')[0] ?? '';
    $is_pickup = str_contains($chosen_shipping, 'local_pickup');
    
    // 仅当选择COD支付且不是自提场景时加收手续费
    if ( 'cod' === WC()->session->get('chosen_payment_method') && !$is_pickup ) {
        $fee = 1.7;
        $cart->add_fee( 'Extra per pagamento alla consegna', $fee, true );
    }
}

// 结账页实时更新监听,覆盖支付方式、配送方式切换场景
add_action( 'wp_footer', 'custom_checkout_jqscript' );
function custom_checkout_jqscript() {
    if ( is_checkout() && ! is_wc_endpoint_url() ) :
    ?>
    <script type="text/javascript">
    jQuery( function($){
        // 监听支付方式切换
        $('form.checkout').on('change', 'input[name="payment_method"]', function(){
            $(document.body).trigger('update_checkout');
        });
        // 新增监听配送方式切换
        $('form.checkout').on('change', 'input[name^="shipping_method"]', function(){
            $(document.body).trigger('update_checkout');
        });
    });
    </script>
    <?php
    endif;
}

补充说明

  • 如果你的服务器使用PHP7及更低版本,将代码中$is_pickup = str_contains($chosen_shipping, 'local_pickup');替换为$is_pickup = strpos($chosen_shipping, 'local_pickup') !== false;即可兼容。
  • 如果不确定你的自提配送方式ID,可按以下路径查询:WooCommerce后台 → 设置 → 配送 → 对应配送区域 → 点击自提方法,浏览器地址栏中instance_id参数对应的数值拼接后就是完整ID,例如local_pickup:2,直接替换代码中local_pickup字段即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 07:54:10