Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WooCommerce:检查购物车中不同购物车项目/SKU的数量_Php_Wordpress_Woocommerce_Cart_Sku - Fatal编程技术网

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

Php WooCommerce:检查购物车中不同购物车项目/SKU的数量,php,wordpress,woocommerce,cart,sku,Php,Wordpress,Woocommerce,Cart,Sku,如果购物车中有多个项目(不同的SKU),我想在购物车上方显示一个结账按钮 我找到了一种方法来隐藏购物车中只有一件物品的按钮。问题是,同一产品(SKU)的多个版本都算作自己的产品 如果我使用以下代码,即使购物车中有两个单一产品,它也会显示该按钮: <?php if ( WC()->cart->get_cart_contents_count() > 1 ) : ?> <?php woocommerce_button_proceed_to_checkout(

如果购物车中有多个项目(不同的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; ?>