【问题标题】:Get line item woocommerce order获取订单项 woocommerce 订单
【发布时间】:2018-03-16 00:32:16
【问题描述】:

我在 woocomerce 3+ 上创建了 html 电子邮件模板,但我无法通过订单 ID 获取订单项。我试过这个,但对我不起作用。

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

非常感谢任何帮助。

谢谢。

【问题讨论】:

  • 在大多数 WooCommerce 电子邮件模板中,$order 对象存在,但不存在订单 ID,因此您应该尝试将 $order = wc_get_order( $order_id ); 替换为 global $order; ...应该管用。现在你的问题并没有详细说明你做了什么以及在哪里......

标签: php html wordpress woocommerce orders


【解决方案1】:

试试下面的代码

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

【讨论】:

    猜你喜欢
    • 2019-09-08
    • 2018-10-26
    • 2021-04-02
    • 1970-01-01
    • 2022-01-14
    • 2017-09-17
    • 2017-07-20
    • 1970-01-01
    相关资源
    最近更新 更多