2017-10-04 142 views
1

我在woocomerce 3+上創建了html電子郵件模板,但無法通過訂單ID獲取訂單項。我嘗試過,但沒有爲我工作。獲取訂單項woocommerce訂單

<?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; 
     } 
?> 

任何幫助非常感謝。

謝謝。

+0

嘗試最重要WooCommerce電子郵件模板的'$ order'對象存在,**而不是訂單ID **,所以你應該嘗試更換'$爲了= wc_get_order ($ order_id);''通過'global $ order;'...它應該起作用。現在你的問題並沒有詳細描述你已經完成了什麼以及在哪裏...... – LoicTheAztec

回答

0

與下面的代碼

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']; 
    } 
}