2013-10-21 23 views
8

Ich muss in der Lage sein, order_item_id, der eindeutige Wert für jeden Artikel in jeder Bestellung angewendet werden. Dies ist, was ich bis jetzt habe:So erhalten Sie order_item_id WooCommerce

 global $wpdb; 
    $order = new WC_Order($order_id); 
    $items = $order->get_items(); 
     foreach ($items as $item) { 
      $product_id = $item['product_id']; 
      $item_id = $item['item_id']; 

Die letzte Zeile in dem obigen Code erhält order_item_id. Es wäre normalerweise nicht arbeiten, aber es funktioniert, weil ich get_items in Klasse-WC-Bestellung bearbeitet haben und enthalten:

 $items[ $item->order_item_id ]['item_id'] = $item->order_item_id; 

Was will ich wissen, ist, wie kann ich order_item_id bekommen ohne Klasse-wc- bearbeiten zu müssen Auftrag. Gibt es einen einfachen Weg?

Danke!

Antwort

21

Dies kann schon zu spät sein für Ihr Projekt kann aber für andere nützlich sein:

foreach ($items as $key => $product) 

Die $key Variable ist die item_id Sie suchen.

0

Der Index/Schlüssel der von $order->get_items() zurückgegebene Array ist die order_item_id ... dies so versuchen:

foreach ($order_items as $order_item_id => $order_item) { 
} 
+0

Dies sagt genau die gleiche wie [user3367143 Antwort] (http://stackoverflow.com/ a/22200864/327074) schon hier. Die andere Antwort verwendet die '$ items'-Variable aus der Frage, die mit' $ order-> get_items() 'erstellt wurde. – icc97

Verwandte Themen