关于购物车中阵列商品的Woocommerce问题

时间:2019-02-19 11:14:44

标签: php woocommerce cart

这是我在购物车中的代码:

<?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用于不同的产品,然后将它们添加到其中。

感谢帮助

1 个答案:

答案 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;

您还需要更好地格式化问题,因为现在很难理解您的问题,而且我甚至不确定我的解释是否可以解决您的问题...