为了账号安全,请及时绑定邮箱和手机立即绑定

WooCommerce COD 根据购物车金额收费

WooCommerce COD 根据购物车金额收费

PHP
MMTTMM 2023-07-01 15:31:21
如果有人选择 COD 作为付款方式,我想收取额外费用。假设如果购物车金额为 10 至 1000 INR,COD 费用将为 RS.50/-,如果购物车金额为 1001 至 2000 INR,则 COD 费用将为 RS.100-,依此类推。我正在使用“在 Woocommerce 中为货到付款付款方式 (cod) 添加费用”答案代码,并且我需要更多自定义。
查看完整描述

1 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

您可以使用 PHPswitch语句将购物车小计四舍五入到最接近的 1000 次方,然后以此为基础收取费用。例如,1001 到 2000(包括 2000)之间的任何内容的小计将四舍五入为 2000。这将由 switch 语句解释,并分配 100 的费用。


switch 语句中的默认值将处理高于您添加到其中的任何情况的任何情况。


// Add a custom fee based on cart subtotal

add_action( 'woocommerce_cart_calculate_fees', 'custom_cod_fee', 10, 1 );

function custom_cod_fee ( $cart ) {


    if ( is_admin() && ! defined( 'DOING_AJAX' ) )

        return;


    if ( 'cod' === WC()->session->get('chosen_payment_method') ) {


        switch ( ceil( $cart->subtotal / 1000 ) * 1000  ) {

            case "1000": // 0 to 1000

                $fee = 50;

                break;

            case "2000": // 1001 to 2000

                $fee = 100;

                break;

            case "3000": // 2001 to 3000

                $fee = 150;

                break;

            case "4000": // 3001 to 4000

                $fee = 200;

                break;

            case "5000": // 4001 to 5000

                $fee = 250;

                break;

            default: // anything higher, no fee

                $fee = '';

        }


        if ( !empty( $fee ) ) $cart->add_fee( 'COD Fee', $fee, true );

    }

}

显然,如果您更改支付网关,您将需要更新结账的代码:


// jQuery - Update checkout on methode payment change

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');

        });

    });

    </script>

    <?php

    endif;

}


查看完整回答
反对 回复 2023-07-01
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信