Jumlah troli untuk kaedah pembayaran tertentu yang dipilih dalam WooCommerce
P粉122932466
P粉122932466 2024-03-21 21:58:57
0
1
352

Jika seseorang memilih tunai semasa penghantaran, saya perlu membulatkan harga akhir semasa pembayaran

Idea umum tentang apa yang ingin saya capai ialah:

if payment_method == 'cod'{
    $cart_subtotal = round($cart_subtotal);
}

P粉122932466
P粉122932466

membalas semua(1)
P粉554842091

Pertama sekali, pastikan jumlah troli dikira semula setiap kali pengguna menukar kaedah pembayaran mereka:

add_action('wp_footer', 'trigger_checkout_refresh_on_payment_method_change');
function trigger_checkout_refresh_on_payment_method_change(){
    if ( is_checkout() && ! is_wc_endpoint_url() ) :
    ?>

    sssccc

    

Terdapat pelbagai cara untuk membundarkan harga bergantung pada logik yang ingin anda laksanakan, tetapi jika pengguna memilih Tunai semasa Penghantaran sebagai kaedah pembayaran, berikut ialah cara paling mudah untuk membundarkan jumlah:

add_filter( 'woocommerce_calculated_total', 'round_total_for_specific_payment_methods', 10, 2 );
function round_total_for_specific_payment_methods( $total, $cart ) {
    $chosen_payment_method = WC()->session->get('chosen_payment_method');
    
    if ( $chosen_payment_method && $chosen_payment_method === 'cod' ) {
        $total = round( $total );
    }
    
    return $total;
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan