Zusätzlicher Preis basierend auf der Anzahl der Artikel im Warenkorb in WooCommerce

Lesezeit: 1 Minute

Zusatzlicher Preis basierend auf der Anzahl der Artikel im Warenkorb
Yosober

Beyogen auf “woocommerce ändert den Preis an der Kasse und auf der Warenkorbseite” Antwortcode, der den Gesamtpreis auf der Checkout-Seite ändert, habe ich einen zusätzlichen Code hinzugefügt, um die Produkte zu zählen, die der Benutzer im Warenkorb hat, und wenn der Benutzer 9 Produkte im Warenkorb hatte, dann füge einen Preis zum Gesamtpreis hinzu:

add_action( 'woocommerce_before_cart_totals', 'custom_cart_total' , 'get_cart_contents_count');
function custom_cart_total() {

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
            return;
    if (WC()->cart->get_cart_contents_count() == 9){
        WC()->cart->total += 15;
    }
    elseif(WC()->cart->get_cart_contents_count() == 6){
       WC()->cart->total += 14; 
    }
    elseif(WC()->cart->get_cart_contents_count() == 4){
       WC()->cart->total += 13; 
    }

}

Aber es funktioniert nicht. Dieses Bild erklärt alles:

Bild

Ich würde mich freuen, wenn jemand den Code korrigieren und mir sagen könnte, wie ich die Nachricht wie im Bild anzeigen kann

Verwenden Sie stattdessen besser die FEE-API auf diese Weise:

// Add a custom packing fee based on item count
add_action( 'woocommerce_cart_calculate_fees', 'custom_packing_fee', 10, 1 );
function custom_packing_fee( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    if ( did_action( 'woocommerce_cart_calculate_fees' ) >= 2 )
        return;

    $count = $cart->get_cart_contents_count();

    if ( $count >= 9 ){
        $fee = 15;
    }
    elseif( $count >= 6 && $count < 9 ){
        $fee = 14;
    }
    elseif( $count >= 4 && $count < 6 ){
        $fee = 13;
    }

    if ( isset($fee) && $fee > 0 ) {
        $label = sprintf( __('Box fee (%d items)'), $count);
        $cart->add_fee( $label, $fee, false );
    }
}

Code geht in die functions.php-Datei deines aktiven Child-Themes (oder aktives Thema). Getestet und funktioniert.

Wenn du möchtest Steuern ermöglichen für die Verpackungspauschale ändern Sie das dritte Argument ab false zu true.

916150cookie-checkZusätzlicher Preis basierend auf der Anzahl der Artikel im Warenkorb in WooCommerce

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy