Cum obții informații despre produsele dintr-o comandă WooCommerce
Încerc să obțin toate comenzile WooCommerce și să găsesc informații despre produsele din fiecare comandă. Am văzut multe exemple aici și în alte părți pe web și toate par să indice aceeași soluție, dar nu funcționează. Folosesc WordPress 4.1.1 și WooCommerce 2.3.3, iar codul meu este:
$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);
}
}
Problema este că atunci când folosesc print_r($lineItem)
există doar trei proprietăți, dintre care doar două sunt populate vreodată. Un rezultat tipic al print_r($lineItem)
arată astfel:
Array (
[name] => Fouta Towel – Pearl Grey & White Stripe
[type] => line_item
[item_meta] =>
)
Cum pot obține restul informațiilor despre acest element din comandă, cum ar fi ID-ul produsului, dacă este un produs simplu / variabil etc?

Am încercat codul tău și funcționează perfect, de fapt afișează detaliile fiecărui produs din comenzi. Codul pe care l-am testat:
$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) {
// decomentează următoarele pentru a vedea toate datele
// echo '<pre>';
// print_r($lineItem);
// echo '</pre>';
echo '<br>' . 'Nume produs: ' . $lineItem['name'] . '<br>';
echo 'ID produs: ' . $lineItem['product_id'] . '<br>';
if ($lineItem['variation_id']) {
echo 'Tip produs: Produs variabil' . '<br>';
} else {
echo 'Tip produs: Produs simplu' . '<br>';
}
}
}
Și rezultatul pe care l-am obținut:
Încearcă acest cod și spune-mi cum funcționează pentru tine.
