WooCommerce 另一种限制购物车物品数量的方法

我想将用户可以在购物车中拥有的商品数量限制为最多 1 件商品(无论数量如何)。

关于如何使用 'woocommerce_add_to_cart_validation' 和 'woocommerce_update_cart_validation' 过滤器(例如answer 1answer 2answer 3 ……),有几个答案。

也可以使用像这样的现有插件,但它不支持最大项目数限制。

但是,就我而言,两个过滤器都没有触发,因为我正在使用的主题对“添加到购物车”逻辑进行了自定义(出于与此处讨论无关的业务/技术原因)。

也就是说,我需要使用不同的解决方案(使用另一个过滤器,...)来实现相同的功能。


猛跑小猪
浏览 133回答 1
1回答

哔哔one

要实现所需的功能,可以使用 'woocommerce_add_cart_item' 过滤器来完成,如下所示:add_filter( 'woocommerce_add_cart_item' , 'validate_cart_max_items');function validate_cart_max_items( $item_data ) {  // Check total cart quantity  $cart_contents_count = WC()->cart->get_cart_contents_count();  // If quantity > 0, cancel current item addition to cart & display an error message  if($cart_contents_count > 0) {    $item_data = NULL;    wc_add_notice( "A maximum of 1 item can be added to your cart", "error" );  }  return $item_data;}上面的代码片段应该添加到您的活动主题文件夹下的 functions.php 文件中。此代码段已使用 WordPress v5.3.1 和 WooCommerce v3.8.1 进行了测试
打开App,查看更多内容
随时随地看视频慕课网APP