Wie erhalte ich die Bestell-ID in WooCommerce?
Wie erhalte ich die Bestell-ID in WooCommerce?
Moslem
Elvis Fernandes
Aktuelle Methode:
Der aktuelle Weg, dies zu erreichen, ist die Verwendung dieser Funktion:
$order->get_id();
Das sollte die Bestell-ID ohne “#” zurückgeben.
Alte Methode:
In älteren Versionen von WooCommerce müssen Sie möglicherweise stattdessen als Eigenschaft darauf zugreifen:
echo $order->id;
-
Dies gibt die ID des Bestellpostens zurück, nicht die ID der Bestellung. $order->get_order_number(); ist die richtige Antwort.
– Pierb
5. November 2015 um 16:49 Uhr
-
Wenn Sie bei Google nach etwas Ähnlichem suchen, ist dies der erste Beitrag.
$order->id
nicht mehr unterstützt wird, erhalten Sie eine Fehlermeldung (Mitglied hat geschützten Zugriff). Aber wenn Sie eine ID (keine Bestellnummer) erhalten möchten, können Sie dies tun mit:$order->get_id();
– Emilushi
19. Dezember 2017 um 11:24 Uhr
-
Dies funktioniert nicht in der aktuellen Version von Woocommerce, Sie sollten $order->get_id(); wie Emilushi sagte.
– MidouCloud
30. Januar 2018 um 9:49 Uhr
-
Meine Antwort war vor 3,5 Jahren, für eine Antwort, die jetzt 4 Jahre alt ist. Hoffentlich hat sich Woocommerce weiterentwickelt und die Dinge hatten sich geändert :). Habe gerade meine Antwort bearbeitet, um die aktuelle Lösung widerzuspiegeln. Danke für den Hinweis auf die aktuelle Vorgehensweise.
– Elvis Fernandes
27. Februar 2018 um 2:11 Uhr
-
wo definierst du $order??
– Enrico
21. Juni 2019 um 12:52 Uhr
Tauchen
es funktionierte. Habe es gerade modifiziert
global $woocommerce, $post;
$order = new WC_Order($post->ID);
//to escape # from order id
$order_id = trim(str_replace('#', '', $order->get_order_number()));
-
Ich habe es versucht –
$order->get_order_number()
und es gab nur die ID zurück ( Es gab kein # ). Ich musste das # nicht ersetzen. Wahrscheinlich hat das letzte Woocommerce-Update die # entfernt. Kann jemand bestätigen?– Aajahid
2. Januar 2016 um 11:50 Uhr
-
Ja, das kann ich bestätigen
$order->get_order_number()
gibt nur die ID zurück (kein „#“-Zeichen) seit mindestens Woocommerce-Version 2.4 (bis einschließlich 3.0 und höher). Es kann von Plugins mit einem WordPress-Filter überschrieben werden,woocommerce_order_number
Daher ist es am besten anzunehmen, dass es nur zur Anzeige dient und möglicherweise nicht numerisch ist. Danke!– wahre Medien
28. April 2017 um 5:20 Uhr
-
Ist es möglich, Informationen über den Lagerbestand bestellter Produkte mit dem Objekt $order zu erhalten?
– Yogesh
18. März 2021 um 11:06 Uhr
Ich habe es nicht getestet und weiß nicht, wo Sie es brauchen, aber:
$order = new WC_Order(post->ID);
echo $order->get_order_number();
Lass mich wissen ob es funktioniert. Ich glaube, die Bestellnummer wird mit dem “#” wiedergegeben, aber Sie können das aufteilen, wenn Sie nur die Nummer benötigen.
-
Ich habe das schon einmal gemacht, es funktioniert nicht, das Problem ist, was in WC_Order für den Parameter sein muss, ich denke, ich muss das Cookie löschen und dann den Bestand manuell reduzieren.
– Moslem
7. Februar 2014 um 18:55 Uhr
-
(post->ID) was wird es geben ?
– Benutzer2678776
17. Juni 2016 um 8:33 Uhr
$order = new WC_Order( $post_id );
Wenn du
echo $order->id;
dann erhalten Sie die ID der Post zurück, von der aus die Bestellung aufgegeben wurde. Da Sie das bereits haben, ist es wahrscheinlich nicht das, was Sie wollen.
echo $order->get_order_number();
gibt die ID der Bestellung zurück (mit einem # davor). Um das # loszuwerden,
echo trim( str_replace( '#', '', $order->get_order_number() ) );
gemäß der akzeptierten Antwort.
Wie LoicTheAztec hier erwähnt: https://stackoverflow.com/a/67182262/4638682
Sie erhalten dies auf verschiedene Weise innerhalb mehrerer Vorlagen. So:
$order_id = absint( get_query_var('view-order') );
Nur um klarzustellen:
order id
ist gleichpost id
wie sie in WordPress-Standardtabellen zu finden sind.order number
ist der Code, der die Bestellung von WooCommerce darstellt, wie sie in WC-Tabellen dargestellt wird.– Erenor Paz
1. September 2016 um 9:09 Uhr