WooCommerce:检查购物车中不同购物车商品/SKU 的数量
WooCommerce: Check the number of different cart items / SKUs in cart
如果购物车中有不止一件商品(不同的 SKU),我想在购物车上方显示一个结账按钮。
我找到了一种方法来隐藏购物车中只有一件商品的按钮。问题是,同一产品 (SKU) 的多个版本算作一个自己的项目。
如果我使用以下代码,即使购物车中有两次单个产品,它也会显示该按钮:
<?php if ( WC()->cart->get_cart_contents_count() > 1 ) : ?>
<?php woocommerce_button_proceed_to_checkout(); ?>
<?php endif; ?>
有没有办法根据商品/SKU 进行检查?
您可以使用以下方法,获取购物车中不同产品 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; ?>
应该可以。
如果购物车中有不止一件商品(不同的 SKU),我想在购物车上方显示一个结账按钮。
我找到了一种方法来隐藏购物车中只有一件商品的按钮。问题是,同一产品 (SKU) 的多个版本算作一个自己的项目。
如果我使用以下代码,即使购物车中有两次单个产品,它也会显示该按钮:
<?php if ( WC()->cart->get_cart_contents_count() > 1 ) : ?>
<?php woocommerce_button_proceed_to_checkout(); ?>
<?php endif; ?>
有没有办法根据商品/SKU 进行检查?
您可以使用以下方法,获取购物车中不同产品 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; ?>
应该可以。