【问题标题】:Get order items data values in Woocommerce在 Woocommerce 中获取订单商品数据值
【发布时间】:2019-02-23 12:42:57
【问题描述】:

在 Woocommerce 中,目前我有一个表单,客户可以在其中输入订单号、姓名和邮政编号。该代码通过此代码,如果一切正确,则向客户显示他订购的商品,这导致了我的问题:

在 WooCommerce 表中,价格和数量都在同一列中,我似乎无法单独获取值。

我尝试了不同的方法来完成当前的查询,但这是我最接近成功的最新方法:

$sql2 = "SELECT *
FROM wp_woocommerce_order_items
LEFT JOIN wp_woocommerce_order_itemmeta ON wp_woocommerce_order_items.order_item_id = wp_woocommerce_order_itemmeta.order_item_id
WHERE wp_woocommerce_order_items.order_id = $ordernumber
AND (meta_key IN ('_line_total', '_qty'))";

我还使用 foreach 循环打印结果: (也很抱歉图片和代码中的芬兰语位)

 foreach ($res2 as $row) {
   echo "<input type='checkbox' name='productinfo[]'><label> Tuotenimi: " . $row['order_item_name'] . "<br /> Kappalehinta: " . $row['meta_value'] ." €"
          . "<br /><br />";
        }

但是,此代码的问题在于,将“_qty”列添加到 AND 子句会导致结果与此处所示的结果一样(也为大部分芬兰网站感到抱歉):

我希望能够将数量和价格打印为单个元素/变量,并能够添加价格,以获得所有产品的总价。

如果代码或问题令人困惑,请问我!

更新

因此,Dipmala 建议我使用 group by 这有助于我获得正确数量的结果。但是,我仍然不知道如何将数量与价格分开打印。 /木偶

【问题讨论】:

  • 使用wc_get_order 获取订单详细信息的方法更简单,并且已经有答案解释了获取所需数据所需的一切:stackoverflow.com/questions/39401393/…
  • 在您的查询中使用 group bye 它将解决您的问题
  • 你也可以尝试使用SELECT DISTINCT *
  • @dipmala 很抱歉回答的太晚了,我不得不下车一段时间,但是,有什么具体的价值我应该订购它们吗?因为我没有看到任何区别。

标签: php mysql wordpress woocommerce orders


【解决方案1】:

改用 SQL 查询试试这个(其中$order_id 是帖子 ID(或订单号))

$order = wc_get_order( $order_id );

echo '<p>'. __('Order total: ') . $order->get_total() . '</p>';

foreach ( $order->get_items() as $item ){
    echo '<p>';
    echo __('Product name: ') . $item->get_name() . '<br>';
    echo __('Quantity: ') . $item->get_quantity() . '<br>';
    echo __('Line total: ') . wc_price($item->get_total()) . '</p>';
}

相关:

【讨论】:

  • 差点忘了问swell,打印出订单的总价怎么办?是否有此功能,或者我需要将商品价格加在一起吗?
  • 这很有道理,我现在觉得有点傻。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2021-04-02
  • 2017-09-17
  • 2018-01-24
  • 1970-01-01
  • 2019-03-24
  • 2021-01-07
  • 2017-04-04
  • 1970-01-01
相关资源
最近更新 更多