WordPress — Создание «кейса» пивных бутылок в шаблоне WooCommerce mini-cart.php

На самом деле я пытаюсь решить проблему, которую не могу решить. Я уже поднял вопрос, но думаю, что я, вероятно, был неясен, так что, надеюсь, немного яснее здесь.

Я изменил мини-корзину, чтобы отображать разные изображения для каждого элемента, добавленного в корзину. Это для имитации добавления бутылок в «кейс». Смотрите изображение, чтобы показать в действии, и вот код, который заставляет его работать.

<?php
if(WC()->cart->get_cart_contents_count() == 0){
echo '<img src="http://example.com/wp-content/uploads/2017/…/empty-case.png" alt="icon" />';
} elseif (WC()->cart->get_cart_contents_count() == 1){
echo '<img src="http://example.com/…/uploads/2017/06/case-with-1-bottle.png" alt="icon" />';
elseif (WC()->cart->get_cart_contents_count() == 2){
echo '<img src="http://example.com/…/uploa…/2017/06/case-with-2-bottles.png" alt="icon" />';

Это продолжается примерно до 60 бутылок или около того, и работает нормально.

Проблема в том, что он основан на общей сумме корзины, и в магазине есть другие товары, которые я не хочу включить в это. Я хочу это только для категории продуктов «одиночные бутылки», но не для «футболок» (например).

В идеале я хотел бы просто добавить что-то, чтобы исключить другие категории, но я не уверен, что нужно сделать.

Есть идеи или предложения?

Мини-корзина для бутылок

1

Решение

Вы можете сделать расчет для вашей категории товаров «отдельные бутылки» следующим образом:

<?php
// Set HERE your product category
$category = 'single bottles';

$beer_count = 0;

foreach ( WC()->cart->get_cart() as $cart_item ){
if( has_term( $category, 'product_cat', $cart_item['data']->get_id() ) ){
$beer_count += $cart_item['quantity'];
}
}

if ( $beer_count == 0 ) {
echo '<img src="http://example.com/wp-content/uploads/2017/…/empty-case.png" alt="icon" />';
} elseif ( $beer_count == 1 ) {
echo '<img src="http://example.com/…/uploads/2017/06/case-with-1-bottle.png" alt="icon" />';
} elseif ( $beer_count == 2 ) {
echo '<img src="http://example.com/…/uploa…/2017/06/case-with-2-bottles.png" alt="icon" />';
}

Это должно работать …

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector