为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
猛跑小猪 2022-06-17 17:06:11
我想将用户可以在购物车中拥有的商品数量限制为最多 1 件商品(无论数量如何)。关于如何使用 'woocommerce_add_to_cart_validation' 和 'woocommerce_update_cart_validation' 过滤器(例如answer 1、answer 2、answer 3 ……),有几个答案。也可以使用像这样的现有插件,但它不支持最大项目数限制。但是,就我而言,两个过滤器都没有触发,因为我正在使用的主题对“添加到购物车”逻辑进行了自定义(出于与此处讨论无关的业务/技术原因)。也就是说,我需要使用不同的解决方案(使用另一个过滤器,...)来实现相同的功能。
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

要实现所需的功能,可以使用 '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 进行了测试


查看完整回答
反对 回复 2022-06-17
  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信