Cómo obtener información de productos en pedidos de WooCommerce
Estoy tratando de obtener todos los pedidos de WooCommerce y encontrar información sobre los productos en cada pedido. He visto muchos ejemplos aquí y en otros lugares de la web y todos parecen decir que hay que hacer lo mismo, pero no está funcionando. Estoy usando WordPress 4.1.1 y WooCommerce 2.3.3, aquí está mi código:
$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);
}
}
El problema es que cuando hago print_r($lineItem)
solo hay tres propiedades, de las cuales solo dos están siempre pobladas. Un típico resultado de print_r($lineItem)
se ve así:
Array (
[name] => Toalla Fouta – Gris Perla & Rayas Blancas
[type] => line_item
[item_meta] =>
)
¿Cómo puedo obtener el resto de la información sobre este artículo del pedido, por ejemplo, el ID del producto, si es un producto simple/variable, etc?

He probado tu código y funciona correctamente, de hecho también muestra los detalles de cada producto en los pedidos. El código que probé fue:
$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) {
//descomenta lo siguiente para ver todos los datos
// echo '<pre>';
// print_r($lineItem);
// echo '</pre>';
echo '<br>' . 'Nombre del Producto : ' . $lineItem['name'] . '<br>';
echo 'ID del Producto : ' . $lineItem['product_id'] . '<br>';
if ($lineItem['variation_id']) {
echo 'Tipo de Producto : Producto Variable' . '<br>';
} else {
echo 'Tipo de Producto : Producto Simple' . '<br>';
}
}
}
Y el resultado que obtuve fue el siguiente:
Prueba este código y dime cómo te funciona
