计算 WooCommerce 中所有订单商品的完整数量

Count for complete quantity of all order items in WooCommerce

我遇到了一个问题,我需要一个 for 循环的商店商品的完整数量。

我已经试过了:

$total_quantity += $item->get_quantity()
$total_quantity = $order->get_item_count();
$items_count = count( $order->get_items() );

很遗憾没有成功。

这是我的代码:

foreach ($order->get_items() as $key => $item) {
        $total_quantity = $order->get_item_count(); <-- NOT WORKING
    for ( $i = 0; $i < $total_quantity; $i++ ) {
        $content .= '<button class="accordion">' . $item->get_name() . '</button>';
  }
}

foreach 循环中的 for 循环应该会导致生成 PDF 按钮。根据您按下的 PDF 按钮,索引将传输到 JavaScript 并检查刚刚单击了哪个按钮。

使用 $ item-> get_quantity 它几乎成功了。但是,对于另一个产品,索引 ($i) 被重置为 0。然而,它必须继续。这意味着或者如果产品被放入购物车 5 次而另一个产品只被放入一次,那么按钮首先正确显示 5 次并具有正确的索引,但第二个产品不会。

如果您对代码有任何疑问或需要示例,请告诉我,我会更新此 post。

对于订单商品,使用 WC_Order_Item_Product get_quantity() 方法,如下 FOR 循环:

$content = ''; // Initializing

// Loop through order items
foreach ( $order->get_items() as $item_id => $item ) {
    // Loop through item quantity
    for ( $i = 1; $i <= $item->get_quantity(); $i++ ) {
        $content .= '<button class="accordion">' . $item->get_name() . ' (' . $i . ')</button>';
    }
}

现在应该可以了……


要计算完整的全球订单商品数量,您可以使用:

$total_quantity = 0; // Initializing

// Loop through order items
foreach ( $order->get_items() as $item_id => $item ) {
    $total_quantity += $item->get_quantity();
}
// Output
echo '<p>Total items quantity: '.$total_quantity.'</p>';