WooCommerce v2如何获取订单数量?$order->quantity无返回值求助
WooCommerce 获取订单数量的正确方法
你用$order->quantity无结果是因为WC_Order对象本身没有直接的quantity属性,订单的商品数量需要从订单项(Order Items)中获取,分两种场景处理:
1. 获取单个订单项的数量
如果需要获取订单里某一款商品的数量,需先遍历订单的订单项,再针对每个订单项获取数量:
$order = new WC_Order( $item['order_id'] ); // 遍历所有订单项 foreach ( $order->get_items() as $item_id => $item ) { // 推荐使用WooCommerce官方getter方法(兼容版本更新) $quantity = $item->get_quantity(); // 也可直接访问属性(部分版本支持,但getter更稳妥) // $quantity = $item->quantity; // 搭配获取商品名称示例 $product_name = $item->get_name(); echo "商品{$product_name}的数量:{$quantity}"; }
2. 获取整个订单的总商品数量
如果需要统计订单内所有商品的总数量,遍历订单项并累加即可:
$order = new WC_Order( $item['order_id'] ); $total_quantity = 0; foreach ( $order->get_items() as $item ) { $total_quantity += $item->get_quantity(); } echo "订单总商品数量:{$total_quantity}";
注:若使用WooCommerce 3.0及以上版本,优先使用get_*系列方法而非直接访问对象属性,能避免版本更新带来的兼容性问题。
内容的提问来源于stack exchange,提问作者Paul VI
相关产品推荐
相关产品推荐

