Heim  >  Fragen und Antworten  >  Hauptteil

Gesamtsumme des Warenkorbs für eine bestimmte ausgewählte Zahlungsmethode in WooCommerce

Wenn jemand die Lieferung per Nachnahme wählt, muss ich den Endpreis an der Kasse aufrunden

Die allgemeine Vorstellung davon, was ich erreichen möchte, ist:

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

P粉122932466P粉122932466235 Tage vor336

Antworte allen(1)Ich werde antworten

  • P粉554842091

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

    首先,确保每次用户更改付款方式时都会重新计算购物车总额:

    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() ) :
        ?>
    
        
    
        
    

    根据您想要实现的逻辑,有多种方法可以对价格进行四舍五入,但如果用户选择“货到付款”作为付款方式,则以下是对总额进行四舍五入的最简单方法:

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

    Antwort
    0
  • StornierenAntwort