Rumah  >  Soal Jawab  >  teks badan

Jumlah troli untuk kaedah pembayaran tertentu yang dipilih dalam WooCommerce

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粉122932466P粉122932466185 hari yang lalu280

membalas semua(1)saya akan balas

  • P粉554842091

    P粉5548420912024-03-22 21:21:25

    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;
    }
    

    balas
    0
  • Batalbalas