2017-01-31 4 views

Antwort

4

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

0

Ich reparierte dieses seltsame Problem, indem Sie einfach benutzerdefinierte Abfrage verwenden.

Hinzufügen Irgendwie 'post_status' => 'wc-pending' nicht wirklich die Abfrage ändern, aber wenn ich 'post_status' => 'pending', die Abfrage Änderungen.

Also was ich getan habe, war diese benutzerdefinierte Abfrage verwenden und pending zu wc-pending ändern.

Verwandte Themen