根据 WooCommerce 中的付款方式提高购物车商品价格

问题描述

我想根据选定的支付网关向购物车商品价格添加百分比值。

我面临的问题是变化的产品价格没有更新产品价格。最初选择的价格一直显示。

我怎样才能相应地获得更改后的价格?

到目前为止我的代码:

// Set custom cart item price
function add_custom_price( $cart ) {

    // This is necessary for WC 3.0+
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    // Avoiding hook repetition (when using price calculations for example | optional)
    if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 )
        return;

    // Loop through cart items
    foreach ( $cart->get_cart() as $cart_item ) {

        $chosen_payment_method = WC()->session->get('chosen_payment_method');

        if($chosen_payment_method == 'cod') {
            $increaseby =  3;
        } elseif($chosen_payment_method == 'paypal') {
            $increaseby =  8;
        } else {
            $increaseby =  10;
        }

        $price = get_post_meta($cart_item['product_id'],'_price',true);
        $price = $price + (($price * $increaseby)/100);
        $cart_item['data']->set_price( $price );
    }
}
add_action( 'woocommerce_before_calculate_totals','add_custom_price',1000,1);

非常感谢任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)