我想将用户可以在购物车中拥有的商品数量限制为最多 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 进行了测试
- 1 回答
- 0 关注
- 132 浏览
添加回答
举报
0/150
提交
取消