Ich versuche, einen Rabatt auf den Gesamtpreis eines Wagens zu gewähren, aber ich kann es nur zum Basispreis des Artikels und nicht zum Gesamtpreis tun. Ich habe gegoogelt und bin über this post im Wordpress stackoverflow gestoßen:
$ betrag = floatval (preg_replace ('# [^\d.] #', '', $ woocommerce-> cart-> get_cart_total ())); Preg_replace eliminiert alles außer Dezimalzeichen und Doppelpunkte.
Wenn Sie damit rechnen möchten, rechnet das floatval den Wert von einem String zu einem numerischen.
Ich habe versucht, Folgendes hinzuzufügen:
$amount2 = floatval( preg_replace( '#[^\d.]#', '', $woocommerce->cart->get_cart_total() ) );
und ändern
$discount = round( (($discounting_amount / 100 ) * $this->amount)*-1, WC()->cart->dp);
zu
$discount = round( (($discounting_amount / 100 ) * $amount2)*-1, WC()->cart->dp);
Ich erhalte jedoch den folgenden Fehler:
Fatal error: Call to a member function get_cart_total() on a non-object in...
Sie müssen die globale Variable aufrufen, um sicherzustellen, dass sie die korrekten Werte erhält.
Wenn Sie hinzufügen
global $woocommerce;
kurz bevor
$amount2 = floatval( preg_replace( '#[^\d.]#', '', $woocommerce->cart->get_cart_total() ) );
das sollte dein Problem lösen.
Versuche dies:
WC()->cart->cart_contents_total
Die Funktion get_cart_total verwendet die Funktion wc_price, die cart_contents_total in Währung konvertiert.
Das funktioniert auch gut.
WC()->cart->total
Dies funktioniert perfekt und entfernt das Währungssymbol:
$woocommerce->cart->total;
global $woocommerce;
$amount = $woocommerce->cart->cart_contents_total+$woocommerce->cart->tax_total;
Sie können auch den Betrag in Float entsprechend Ihrer Anforderung umrechnen.
Verwenden Sie diese Option, um die Gesamtmenge der Wagen einschließlich Steuern und Rabatte anzuzeigen
$ordertotal = wp_kses_data( WC()->cart->get_total() );
Ab Ende 2018 verwenden Sie get_cart_contents_total()
am besten. Dies ist die Summe der Artikel im Warenkorb nach Rabatten.
WC()->cart->get_cart_contents_total(); // Float
Andere Methoden stehen für spezifischere Anforderungen zur Verfügung. Schauen Sie sich einfach the docs an.
$ totalamount = $ woocommerce-> cart-> cart_contents_total;
echo $ totalamount;