Das scheint so einfach zu sein, aber es war spät und ich habe die Dinge vielleicht zu kompliziert gemacht!
Ich benutze derzeit die woocommerce_thankyou
einhaken WP
functions-Datei, um einige Daten zu kompilieren und an eine Drittanbieter-API zu senden. So weit, so einfach, mit Standard $order
und $order_meta values
. Aber ich muss die Gesamtzahl der Artikel in einer Bestellung abrufen und kann nicht sehen, wo ich sie bekommen kann.
Also wenn jemand bestellt 2
grüne Widgets und 3
blaue Widgets, die ich bekommen muss 5
von irgendwo.
Übersehe ich etwas Offensichtliches? 🙂
Das Zählen von Auftragspositionen kann 2 verschiedene Dinge sein:
-
Gesamtzahl der Artikel:
// Holen Sie sich eine Instanz des WC_Order-Objekts $order = wc_get_order( $order_id );
$items_count = count( $order->get_items() );
// Ausgabe testen echo $items_count;
-
Die Gesamtmenge der Artikel:
// Holen Sie sich eine Instanz des WC_Order-Objekts $order = wc_get_order( $order_id );
$Gesamtmenge = 0; // Initialisierung
// Bestellpositionen foreach durchlaufen ( $order->get_items() as $item ) { $total_quantity += $item->get_quantity(); }
// Ausgabe testen echo $total_quantity;
Oder Sie können die WC_Order verwenden get_item_count()
Methode, die dasselbe tun (sehen seinen Quellcode):
// Get an instance of the WC_Order Object
$order = wc_get_order( $order_id );
$total_quantity = $order->get_item_count();
Verwenden Sie dies, um die Gesamtzahl der Artikel in einer Bestellung zu erhalten –
$order = wc_get_order( $order_id );
echo $order->get_item_count(); // Will display the total numbers
$order = new WC_Order( 1 ); $order_items = $order->get_items(); echo count($order_items);
– PHP-Ninja
13. September 2019 um 11:25 Uhr
Danke Gülschan. Ich habe etwas Ähnliches versucht und es gibt ‘2’; wie in grünen Widgets und blauen Widgets im obigen Beispiel.
– Austen Osborne
13. September 2019 um 12:04 Uhr