在WooCommerce mini-cart.php模板

时间:2017-09-11 20:15:43

标签: php wordpress woocommerce cart product

真的试图解决我无法完成的问题。我已经提出了一个查询但是我觉得我可能不清楚,所以希望这里有一点清楚。

我修改了迷你购物车,为添加到购物车的每件商品显示不同的图片。这是为了模拟将瓶子添加到“盒子”中。请参阅图片以显示实际操作,以下是使其正常工作的代码。

<?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瓶左右,并且工作正常。

问题是,它基于购物车总数,而且我想要包含在商店中的其他商品。 我只想要“单瓶”产品类别,但

理想情况下,我只想添加一些东西以排除其他类别,但我不确定需要做什么。

有任何想法或建议吗?

Mini cart bottle case

1 个答案:

答案 0 :(得分: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" />';
    }

这应该有用......