Php 避免基于Woocommerce购物车中的特定产品添加到购物车
从这个答案中: , 以下代码运行良好:Php 避免基于Woocommerce购物车中的特定产品添加到购物车,php,woocommerce,cart,product,custom-taxonomy,Php,Woocommerce,Cart,Product,Custom Taxonomy,从这个答案中: , 以下代码运行良好: add_filter( 'woocommerce_add_to_cart_validation', 'only_four_items_allowed_add_to_cart', 10, 3 ); function only_four_items_allowed_add_to_cart( $passed, $product_id, $quantity ) { $cart_count = WC()->cart->get_cart_cont
add_filter( 'woocommerce_add_to_cart_validation', 'only_four_items_allowed_add_to_cart', 10, 3 );
function only_four_items_allowed_add_to_cart( $passed, $product_id, $quantity ) {
$cart_count = WC()->cart->get_cart_contents_count();
$total_count = $cart_count + $quantity;
if ( has_term( 'quantity4','product_cat',$product_id ) && ( $cart_count >= 4 || $total_count > 4 ) ) {
$passed = false; // Set to false
$notice = __( "You Chose a Box of 4 Items, Can't Add More", "woocommerce" ); // Notice to display
}
elseif ( has_term( 'quantity6','product_cat',$product_id ) && ( $cart_count >= 6 || $total_count > 6 ) ) {
$passed = false; // Set to false
$notice = __( "You Chose a Box of 6 Items, Can't Add More", "woocommerce" ); // Notice to display
}
if( ! $passed )
wc_add_notice( $notice, 'error' );
return $passed;
}
我有两个问题:
谢谢。我很抱歉。我已经编辑了,希望能让它更清楚。在本例中,“添加到购物车”按钮位于页面上的woo product表中,这可能就是重定向到单产品视图的原因。我将直接在一个产品上进行测试,看看那里发生了什么。谢谢。关于第一点,我认为这不可能以简单的方式实现。。。。对于第2点)检查答案:在直接在商店存档页面上进行测试时,当单击“添加到购物车”按钮时(如果购物车数量超过允许的总数),它会指向单个产品(并显示错误消息),也会发生同样的情况。谢谢。使用ajax添加到购物车(在档案页面上作为商店)没有其他方法。。。如果没有,您需要禁用ajax添加到购物车。感谢您的帮助。我理解第1项的限制。我将回顾您在第2项中引用的其他答案。