Корзина реализована чрез cookie-js.
$cook - массив с выбранными товарами
Array
(
[0] => Array
(
[0] => 154
[1] => 12 600
[2] => 80 x 40 x 5 см
[3] => 12 x 50 x 15 см
)
[1] => Array
(
[0] => 154
[1] => 12 600
[2] => 80 x 40 x 5 см
[3] => 12 x 50 x 15 см
)
)
.....
под нулевым элементом массива всегда идет id записи(товара)
Далее выводим через цикл в корзину все добавленные товары
$i=0;
while ( $i <= count($cook)-1) {
$posts = get_posts( array(
'include' => $cook[$i][0], //выбираем id товаров
) );
foreach($posts as $post){ ?>
<tr>
<td>
<a href="" target="_blank" title="Подробнее о товаре"><img src="" width="60" height="100" alt=""></a>
</td>
<td>
<a href="<? the_permalink(); ?>" target="_blank" title="Подробнее о товаре"><? the_title();?></a>
<br>
<small>
Стела:<? echo $cook[$i][2]; ?> см<br>Тумба:<? echo $cook[$i][3]; ?> см
</small>
</td>
<td> <? echo $cook[$i][1]; ?> руб. <input type="hidden" class="id" name="cart[<?echo $cook[$i][0];?>][id]" value="<?echo $cook[$i][0];?>">
<input type="hidden" class="price" name="cart[<?echo $cook[$i][0];?>][price]" value="<? echo str_replace('.', '', $cook[$i][1]); ?>">
</td>
<td><input type="number" class="count" name="cart[<?echo $cook[$i][0];?>][count]" value="1" min="1"> //выводим количество товаров
</td>
<td><a href="#del"><div class="">X</div></a>
</td>
</tr>
<? $i++;
}
}
?>
Скрин корзины
prnt.sc/c3emx1 товар с одними параметрами повторяется дважды.
Вопрос в том как не выводить уже существующий товар дважды а просто увеличивать его количество(value) в корзине?
Спасибо.