2017-01-31 19 views

ответ

4

Ваш код просто работает отлично, как и ожидалось, в веб-интерфейсе, я проверить его и выходные он только заказы с ** состояние ожидания. Поэтому я не могу сказать, в чем проблема, поскольку ваш вопрос не детализирован.

Я нашел эту записку на WordPress WP_Query reference, которые могут быть полезны:
Примечание: Ticket #18408 Для запроса сообщения администратора, используйте get_posts() в качестве wp_reset_postdata() не может вести себя, как ожидалось.

В общем, я не использую WP_Query() для заказов клиентов, но wc_get_orders()(или get_posts() тоже) таким образом:

$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>'; 
    } 
} 

Это работает также просто получить заказы объекты.

Связанная документация: wc_get_orders and WC_Order_Query

0

Я установил этот странный вопрос, просто используя пользовательский запрос.

Как-то добавление 'post_status' => 'wc-pending' фактически не изменить запрос, но если я использую 'post_status' => 'pending', изменения запроса.

Так что я сделал это, используя этот пользовательский запрос и изменяю pending до wc-pending.