Woocommerce: Warenkorbsumme zeigt Null für 1 Artikel

Lesezeit: 2 Minuten

Ich habe in der Kopfzeile meiner Seite einen Link zum Warenkorb mit den aktuellen Summen erstellt.

Es soll die aktuelle Summe des Warenkorbs und die Anzahl der im Warenkorb enthaltenen Artikel auf folgende Weise anzeigen:

[icon] 1,20 € – 1 Artikel

Der Wert wird jedoch nur auf der Warenkorbseite korrekt berechnet. Auf der Startseite wird es beispielsweise nur so angezeigt:

[icon] 0,00 € – 1 Artikel

So greife ich auf die Werte zu:

$count = WC()->cart->cart_contents_count;
WC()->cart->calculate_totals();
if($count > 0)
{
    print "<a class="cart-contents" href="" . WC()->cart->get_cart_url();
    print "" title="Voir votre panier">";
    print WC()->cart->get_total();
    print " - " . sprintf(_n('%d article', '%d articles', $count, 'woothemes'), $count);
    print "</a>";
}

Wenn ich anrufe WC()->cart->get_cart_total();wird der Preis ohne Steuern angezeigt, auch wenn ich erzwinge, dass Preise Steuern enthalten.

Wie kann ich konsistent den korrekten Wert auf der gesamten Website erhalten?

global $woocommerce;

$amount = $woocommerce->cart->cart_contents_total+$woocommerce->cart->tax_total;

Sie können $amount auch gemäß Ihren Anforderungen in Float-Wert umwandeln.

Ich hatte das gleiche Problem, also ging ich den WooCommerce-Code durch. In der Funktion WC()->cart->calculate_totals() in der Klasse WC_Cart seit einiger Zeit gibt es folgende Bedingung

// Only calculate the grand total + shipping if on the cart/checkout
if ( is_checkout() || is_cart() || 
     defined('WOOCOMMERCE_CHECKOUT') || defined('WOOCOMMERCE_CART') )

Diese Bedingung gilt speziell für die Berechnung der total, Ich bin mir nicht sicher warum. Aber das gibt Ihnen die richtige Problemumgehung: Fügen Sie auf der Seite, auf der Sie die Gesamtsumme anzeigen müssen, eine der folgenden Codezeilen ein:

define( 'WOOCOMMERCE_CART', true );

oder

define( 'WOOCOMMERCE_CHECKOUT', true );

Und dann die Funktion ausführen WC()->cart->calculate_totals();

Dann bekommt man den Warenkorb auch nicht voll ausgenutzt WC()->cart->total oder wc_cart_totals_order_total_html() (für Währungssymbol)

1093230cookie-checkWoocommerce: Warenkorbsumme zeigt Null für 1 Artikel

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

Privacy policy