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