这是我在购物车中的代码:
<?php
$totaleiva_1 = 0;
$items = $woocommerce->cart->get_cart();
foreach($items as $item ) {
echo $totaleforsebene;
$totaleiva_1 = $totaleiva_1 + $totaleforsebene;
}
echo $totaleiva_1;
?>
结果是:对于我拥有的产品,购物车中最后一个产品的$totaleforsebene
值被添加了n次(例如,我有两个产品,最后一个值$totaleforsebene
被添加了两次)。
相反,我想将$totaleforsebene
用于不同的产品,然后将它们添加到其中。
感谢帮助
答案 0 :(得分:0)
您可以为每个产品创建具有ID的数组,然后添加正确的值:
计算$totaleforsebene
时,请执行以下操作:
foreach($items as $item => $values) {
$product = wc_get_product( $values['data']->get_id());
...
$totaleforsebene = ($scontato * $percent)/100;
$totalForSebeneArray[$values['data']->get_id()] = $totaleforsebene; // add the value by the item ID
$totaleforsebene = number_format($totaleforsebene, 2, '.', '')." €";
}
现在,当您在项目上循环并求和时,您可以执行以下操作:
$totaleiva_1 = 0;
$items = $woocommerce->cart->get_cart();
foreach($items as $item ) {
$totaleiva_1 += $totalForSebeneArray[$item ['data']->get_id()];
}
echo $totaleiva_1;
您还需要更好地格式化问题,因为现在很难理解您的问题,而且我甚至不确定我的解释是否可以解决您的问题...