【问题标题】:Woocommerce change total price depending payment methods [duplicate]Woocommerce根据付款方式更改总价[重复]
【发布时间】:2020-04-29 02:40:51
【问题描述】:

我想根据结帐页面中的付款方式更改总价,我有两种付款方式 如果客户选择货到付款,总价变为 Total * 0.015 + Total 否则总价不变

【问题讨论】:

标签: wordpress woocommerce


【解决方案1】:

代码在您的活动子主题(或主题)的functions.php 文件中或任何插件文件中。此代码已经过测试并且可以工作。

所有付款方式仅在结帐页面上可用。

add_action('woocommerce_cart_calculate_fees','custom_handling_fee',10,1);
function custom_handling_fee($cart){
    if(is_admin() && ! defined('DOING_AJAX'))
        return;
    if('cod' === WC()->session->get('chosen_payment_method')){
        $extra_cost = 0.015;
        $cart_total = $cart->cart_contents_total; 
        $fee = $cart_total * $extra_cost;
        if($fee != 0)
        $cart->add_fee('COD Charge',$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');
        });
    });
    </script>
    <?php
    endif;
}

【讨论】:

    猜你喜欢
    • 2018-08-30
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 2020-05-28
    • 2021-12-21
    相关资源
    最近更新 更多