根据数量/类别

时间:2017-09-06 23:29:59

标签: php wordpress image woocommerce cart

可能是一个基本的,我只是一点点解决。 基本上我正在建立一个销售啤酒瓶的网上商店,每箱增加12个,可选择混合7种不同的啤酒。目前,我已经启用迷你推车显示一个装瓶的情况 - 一瓶一瓶 - 每个瓶子都添加,这是基于购物车的总数。

<?php if( WC()->cart->get_cart_contents_count() == 0){ 
    echo '<img src="***image-with-0-bottles" alt="icon" />';
} 

elseif( WC()->cart->get_cart_contents_count() == 1){ 
    echo '<img src="***image-with-1-bottle.png" alt="icon" />';
}

elseif( WC()->cart->get_cart_contents_count() == 2){ 
    echo '<img src="***image-with-2-bottle2.png" alt="icon" />';
}

等等等。

以上可能是一种不必要的复杂方式,但主要关注的是上述需要仅在将一个特定类别添加到购物车时才会发生,即。仅适用于单瓶装。如果任何其他类别被添加到购物篮中,我希望图像保持不变,只有在添加“单瓶”时才会更改。

有点新意。有点卡住了。有点PHP差!我已经尝试了很多我已经读过的东西,但我真的不知道真正知道我的立场。任何帮助都会如此受欢迎。

1 个答案:

答案 0 :(得分:1)

当您显示迷你购物车模板的代码时,您会看到有关缩略图(line 38)的信息:

$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );

这意味着您可以操作迷你购物车缩略图。

但是对于您的特殊产品类别,因为它基于购物车总数,您将在此产品类别的所有商品上获得相同的图片。

以下是该代码的示例:

add_filter( 'woocommerce_cart_item_thumbnail', 'custom_cart_item_thumbnail', 10, 3 );
function custom_cart_item_thumbnail( $thumbnail, $cart_item, $cart_item_key ){
    // Only for Mini Cart
    if( is_cart() ) return $thumbnail;

    $product = $cart_item['data'];
    $product_id = $product->get_id();
    $cart_item_count = WC()->cart->get_cart_contents_count();

    // Set here your product category like 'case-dozen'
    if( has_term( 'case-dozen', 'product_cat', $product_id ) ){
        // Total cart item count based
        if ( 0 == $cart_item_count )
            $thumbnail = '<img src="/image-with-0-bottles.png" alt="icon" />';
        elseif ( 1 == $cart_item_count )
            $thumbnail = '<img src="/image-with-1-bottle.png" alt="icon" />';
        elseif ( 2 == $cart_item_count )
            $thumbnail = '<img src="/image-with-2-bottle2.png" alt="icon" />';
    }
    return $thumbnail;
}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

这应该有用。