Woocommerce: Erhalten Sie alle Bestellungen für ein Produkt
In die Woocommerce API sehe ich eine Methode wc_get_orders
In der genannten Argumente sehe ich nicht ein argument, was ich konnte, bieten eine Produkt-ID oder Objekt zu begrenzen, um die Ergebnisse nur für dieses spezielle Produkt.
Gibt es eine Möglichkeit, die ich filter nur Bestellungen für bestimmte Produkte?
Brauche ich, um diese Methode zu verwenden, da einige Argumente, die notwendig sind,
- diese get real WC_Order Objekte rfmeier.net/get-all-orders-for-a-product-in-woocommerce
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bearbeitet
Diese Funktion existiert nicht, aber es kann gebaut werden. Also die Funktion gibt einen array aller Aufträge-IDs für eine bestimmte Produkt-ID, die richtige SQL-Abfrage:
VERWENDUNG 1 (für eine bestimmte Produkt-ID
37
und Standard-Bestellungen-status):VERWENDUNG 2 (für eine bestimmte Produkt-ID
37
und einige definierte Aufträge Status):Code geht in function.php Datei der aktiven child-theme (oder ein Thema) oder auch in jedem plugin-Datei.
Dieser code ist getestet und funktioniert.
LEFT JOIN {$wpdb->prefix}woocommerce_order_itemmeta as order_item_meta2 ON order_items.order_item_id = order_item_meta2.order_item_id
... dann werden Sie in der Lage, einen neuenorder_item_meta2.meta_key
oder/undorder_item_meta2.meta_value
...So, ich wollte fetch-Aufträge zu einem bestimmten Produkt und einer person. Ich benutzte die Lösung von @LoicTheActec mit der wc_get_orders woocommerce-Methode, um das Ergebnis zu erhalten was ich will.
Hier sind die Funktionen:
Heraus zu filtern und die Ergebnisse, die ich will. Da die Methode nicht include argument, das ich hatte, zu greifen, alle Aufträge, und entfernen Sie dann die Reihenfolge für die angegebene Produkt-id und ausschließen, alle übrigen aus wc_get_orders: