php - WooCommerce:检查购物车中不同购物车商品/SKU 的数量

标签 php wordpress woocommerce cart sku

如果购物车中有不止一件商品(不同的 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; ?>

应该可以。

关于php - WooCommerce:检查购物车中不同购物车商品/SKU 的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62896439/

相关文章:

javascript - 通过 AJAX 从另一台服务器使用 JavaScript 上传图像

WordPress:在WHILE循环中获取current_post索引号

javascript - 使用 php 循环 WordPress 的响应式框布局

php - 在 Woocommerce 3 中隐藏购物车中特定产品的数量字段

css - woocommerce 相关产品 2 专栏问题(适用于移动设备)

wordpress - woocommerce 在下订单前检查邮政编码

php - 尝试将数据插入 mySQL 数据库时卡住

php - 变变量超全局变量

WordPress XML-RPC 错误 : XML-RPC services are disabled on this site

php - (嵌套MySQL语句)是否可以用一个SQL查询来实现?有什么改进吗?