Как получить информацию о товаре в заказе WooCommerce
Я пытаюсь получить все заказы WooCommerce и найти информацию о товарах в каждом заказе. Я видел много примеров здесь и в других местах в интернете, и все они, похоже, предлагают делать одно и то же, но это не работает. Я использую WordPress 4.1.1 и WooCommerce 2.3.3, вот мой код:
$filters = array(
'post_status' => 'any',
'post_type' => 'shop_order',
'posts_per_page' => 200,
'paged' => 1,
'orderby' =>'modified',
'order' => 'ASC'
);
$loop = new WP_Query( $filters );
while ( $loop->have_posts() ) {
$loop->the_post();
$order = new WC_Order($loop->post->ID);
foreach ($order->get_items() as $key => $lineItem) {
print_r($lineItem);
}
}
Проблема в том, что когда я выполняю print_r($lineItem)
, там есть только три свойства, из которых только два когда-либо заполнены. Типичный результат print_r($lineItem)
выглядит так:
Array (
[name] => Полотенце Fouta – Жемчужно-серое и белое в полоску
[type] => line_item
[item_meta] =>
)
Как мне получить остальную информацию об этом элементе заказа, например идентификатор товара, является ли он единичным/вариативным товаром и т.д.

Я проверил ваш код, и он действительно работает корректно, предоставляя детали по каждому товару в заказах. Вот код, который я тестировал:
$filters = array(
'post_status' => 'any',
'post_type' => 'shop_order',
'posts_per_page' => 200,
'paged' => 1,
'orderby' => 'modified',
'order' => 'ASC'
);
$loop = new WP_Query($filters);
while ($loop->have_posts()) {
$loop->the_post();
$order = new WC_Order($loop->post->ID);
foreach ($order->get_items() as $key => $lineItem) {
//раскомментируйте следующий код, чтобы увидеть полные данные
// echo '<pre>';
// print_r($lineItem);
// echo '</pre>';
echo '<br>' . 'Название товара: ' . $lineItem['name'] . '<br>';
echo 'ID товара: ' . $lineItem['product_id'] . '<br>';
if ($lineItem['variation_id']) {
echo 'Тип товара: Вариативный товар' . '<br>';
} else {
echo 'Тип товара: Простой товар' . '<br>';
}
}
}
И вот результат, который я получил:
Попробуйте этот код и сообщите, как он работает у вас.
