提问者:小点点

WooCommerce:检查购物车中不同购物车项目/SKU的数量


我想在购物车上面显示一个签出按钮,如果有一个以上的项目(不同的SKU)在其中。

我找到了一种方法来隐藏购物车里只有一个项目的按钮。 问题是,同一产品(SKU)的多个版本被视为一个自有项目。

如果我使用下面的代码,即使购物车中有两次单一产品,它也会显示按钮:

<?php if ( WC()->cart->get_cart_contents_count() > 1 ) : ?>
    <?php woocommerce_button_proceed_to_checkout(); ?>
<?php endif; ?>

是否有方法根据项目/SKU进行检查?


共1个答案

匿名用户

您可以使用以下方法,获取购物车中不同产品sku的计数:

<?php 
$skus = array();
foreach( WC()->cart->get_cart() as $cart_item ) :
    $sku = $cart_item['data']->get_sku();
    $skus[$sku] = $cart_item['data']->get_id();
endforeach;
 
if( count($skus) > 1 ) : 
    woocommerce_button_proceed_to_checkout();
endif; ?>

应该管用。