Ihr Code einfach perfekt wie erwartet, in Frontend Arbeitet, ich habe es Test und es Ausgabe nur Aufträge mit ** ungeklärten Status. Also kann ich nicht sagen, was Ihr Problem ist, da Ihre Frage nicht detailliert ist.
Ich habe diese Notiz auf WordPress WP_Query reference gefunden, die nützlich sein könnten:
Hinweis: Ticket #18408 Für Abfragen Beiträge im Admin, betrachten get_posts() verwendet als wp_reset_postdata() möglicherweise nicht wie erwartet verhalten.
Im Allgemeinen Ich benutze keine WP_Query()
für Kundenaufträge aber wc_get_orders()
(oder get_posts()
auch) auf diese Weise:
$customer_orders = wc_get_orders(array(
'limit' => -1,
'status' => array('wc-pending')
));
// Iterating through each Order with pending status
foreach ($customer_orders as $order) {
// Going through each current customer order items
foreach($order->get_items() as $item_id => $item_values){
$product_id = $item_values['product_id']; // product ID
// Order Item meta data
$item_meta_data = wc_get_order_item_meta($item_id);
// Some output
echo '<p>Line total for '.wc_get_order_item_meta($item_id, '_line_total', true).'</p><br>';
}
}
Dies funktioniert auch die Aufträge zu bekommen, nur um Objekte.
Verwandte Dokumentation: wc_get_orders and WC_Order_Query