Rumah > Soal Jawab > teks badan
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粉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() ) : ?> ssscccTerdapat 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; }balas0