php - 在 Woocommerce 中获取订单商品数据值
问题描述
在 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 这有助于我获得正确数量的结果。但是,我仍然不知道如何将数量与价格分开打印。/傀儡
解决方案
而是使用 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>';
}
有关的:
推荐阅读
- excel - 改进从电子表格中获取电子邮件地址的过程
- sql - Power BI 不显示完整数据
- azure-service-fabric - 是否可以使用 Service Fabric 中 ResourceMonitorService 的“servicefabric:/_CpuCores”负载指标来平衡集群中的服务?
- database - 如何检索用户特定数据以及弹性搜索结果?
- wordpress - Wordpress Gutenberg 自动完成 - 保存属性
- sql - Oracle中如何选择计数后的最大值?
- react-native - React Native 按钮点击
- apache - 在 ubuntu 服务器 16.04 上部署 php 应用程序
- visual-studio - dotnet Cli 尝试生成代码覆盖率统计信息时出错
- sublimetext3 - 如何使用类似 VIM 的“yX”键盘组合在 Sublime 文本中拉到剪贴板