Reputation: 89
I create html email template on woocomerce 3+ but i can't get line item by order id. I tried this but did not work for me.
<?php
$order = wc_get_order( $order_id );
$order_items = $order->get_items();
foreach ($order_items as $item_id => $item_data) {
$product_name = $item_data['name'];
$item_quantity = $order->wc_get_order_item_meta($item_id, '_qty', true);
$item_total = $order->wc_get_order_item_meta($item_id, '_line_total', true);
echo 'Product name: '.$product_name.' | Quantity: '.$item_quantity.' | Item total: '. $item_total;
}
?>
Any help very much appreciated.
Thanks.
Upvotes: 6
Views: 10337
Reputation: 3504
Try with below code
add_action('init','orderLineItem');
function orderLineItem()
{
$orderId = 523; //put your dynamic order id or static id
$order = wc_get_order( $orderId );
foreach ( $order->get_items() as $item_key => $item_values ) {
$item_data = $item_values->get_data();
echo $product_name = $item_data['name'];
echo $quantity = $item_data['quantity'];
echo $line_total = $item_data['total'];
}
}
Upvotes: 6