Woocommerce проблема с элементами массива в корзине - PullRequest
0 голосов
/ 19 февраля 2019

Это мой код в корзине:

<?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 голосов
/ 19 февраля 2019

Вы можете создать массив с идентификатором для каждого продукта и затем добавить правильное значение:

Когда вы вычисляете $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;

Вам также нужно лучше отформатировать свой вопрос, так как сейчас очень трудно понять вашу проблему, и я даже не уверен, что мое объяснение ответит на вашу проблему ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...