Ich bin kein Experte für WooCommerce, ich kann nicht finden, wie man den Preis anzeigt, der den Rabatt vom Gutschein berechnet.
Dieser Code, Preis nach Coupon anzeigen, aber auch mit Versandpreis – was ich nicht möchte, ich möchte Preis nach Rabatt, vor Versand und Steuern anzeigen:
$woocommerce->cart->get_cart_total();
Dieser Code zeigt den Endpreis ohne Rabatt und ohne Versand an:
$woocommerce->cart->get_cart_subtotal();
Also habe ich so etwas versucht, um den Preis nach dem Rabatt zu erhalten:
<?php
$totalp = $woocommerce->cart->get_cart_subtotal();
$totaldisc = $woocommerce->cart->get_total_discount();
$resultp = $totalp - $totaldisc;
echo ($resultp);
?>
Aber es zeigt die Nummer “0”.
Also, ich denke, es gibt eine einfache Funktion für das, was ich will (ich möchte den Gesamtpreis des Einkaufswagens nach dem Rabatt, vor dem Versand erhalten), aber ich kann diese Funktion nicht finden.
Antwort: Ich musste ints oder Floats ohne Symbole verwenden, und der beste Weg war, die WooCommerce-Dokumentation hier zu überprüfen:
Woo – Dokumente , und um nach dieser Variablen zu suchen und sie ohne () (keine Funktion) zu verwenden. jetzt klappt es 🙂
<?php
$first_number = $woocommerce->cart->subtotal;
$second_number = $woocommerce->cart->discount_total;
$sum_total = $first_number - $second_number;
print ($sum_total);
?>
Da Sie die Währung in den Preisen haben, müssen Sie sie entfernen.
Ich konnte keinen WooCommerce-Code finden, um nur die Zwischensumme und den Rabatt ohne Währungssymbol zu erhalten, also entfernen wir sie einfach manuell:
function remove_currency($price) {
return (double) preg_replace('/[^0-9\.]+/', '', $price);
}
$totalp = remove_currency($woocommerce->cart->get_cart_subtotal());
$totaldisc = remove_currency($woocommerce->cart->get_total_discount());
$resultp = $totalp - $totaldisc;
echo $resultp;
Dieser Beitrag ist etwas alt, aber ich möchte jeden, der sich das ansieht, darüber informieren, dass Woocommerce 3.x jetzt verwendet:
WC()->cart
oder Sie können einfach verwenden
$cart
solange du die hast name_of_my_function( $cart ){}
Parameter aufrufbar.
Alles oben ist in Ordnung … Ich bin mir sicher, aber in der Hoffnung, dass jemand das nicht weiß $woocommerce
global wird nicht mehr verwendet.
Es gibt auch eine Möglichkeit, foreach durch die Warenkorbartikel (Objekte) zu blättern, um Ihre Preisuntersummen mit dem cart_object auszuwählen.
foreach( $cart_obj->get_cart() as $key=>$value )
{
$priced = $value['subtotal'];
$new_price = $priced - ($predefined_referral_discount * 1);
$value['data']->set_price( $new_price );
}
Denken Sie daran: name_of_my_function( $cart_obj ){}
für dieses. Viel Spaß beim Codieren
12990200cookie-checkWoocommerce-Preis nach Rabattyes
Was enthalten $totalp und $totaldisc?
– Kasraf
30. April 2014 um 9:05 Uhr
@ChenAsraf Der Copoun-Rabattpreis. Beispiel: Ich stelle einen Gutschein ein, der 30 Rabatt auf den Warenkorb gibt, er zeigt die 30-Nummer an. Heute 🙂
– Oschrib
30. April 2014 um 9:07 Uhr
Ich denke, es gibt “0”, weil es das Währungssymbol enthält, weiß nicht, wie man ohne es rechnet. Aber wie ich gefragt habe, denke ich, dass es eine Funktion gibt, um den Gesamtpreis nach dem Rabatt vor dem Versand zu erhalten
– Oschrib
30. April 2014 um 9:08 Uhr
Aha. Ich werde gleich eine Antwort posten.
– Kasraf
30. April 2014 um 9:11 Uhr