woocommerce_add_to_cart_validation add_filter() 后产品未添加到购物车
Product not adding in cart after add_filter() on woocommerce_add_to_cart_validation
我有一个场景,其中未登录的用户只能在他的购物车中添加 1 个产品。我在 woocommerce_add_to_cart_validation
上添加了一个过滤器,它与 $woocommerce->cart->cart_contents_count>0
一起工作正常,即它显示通知 You cannot add another product to your cart.0
但是,如果我这样做 $woocommerce->cart->cart_contents_count>1
页面只是刷新而不向购物车添加任何东西。
下面是我的自定义函数。
if(!is_user_logged_in()):
add_filter( 'woocommerce_add_to_cart_validation', 'woocommerce_add_cart_myfunction' );
function woocommerce_add_cart_myfunction( $cart_item_data ) {
global $woocommerce;
$numberOfProducts=$woocommerce->cart->cart_contents_count;
if($numberOfProducts > 1){
wc_add_notice(
__( 'You cannot add another product to your cart.'.$numberOfProducts, 'woocommerce' ));
return false;
}
}
endif;
您需要return购物车项目数据,如果产品数量只有1:
function woocommerce_add_cart_myfunction( $cart_item_data ) {
$numberOfProducts = WC()->cart->cart_contents_count;
if ( $numberOfProducts > 1 ) {
wc_add_notice(
__( 'You cannot add another product to your cart.'.$numberOfProducts, 'woocommerce' ));
return false;
}
return $cart_item_data;
}
我有一个场景,其中未登录的用户只能在他的购物车中添加 1 个产品。我在 woocommerce_add_to_cart_validation
上添加了一个过滤器,它与 $woocommerce->cart->cart_contents_count>0
一起工作正常,即它显示通知 You cannot add another product to your cart.0
但是,如果我这样做 $woocommerce->cart->cart_contents_count>1
页面只是刷新而不向购物车添加任何东西。
下面是我的自定义函数。
if(!is_user_logged_in()):
add_filter( 'woocommerce_add_to_cart_validation', 'woocommerce_add_cart_myfunction' );
function woocommerce_add_cart_myfunction( $cart_item_data ) {
global $woocommerce;
$numberOfProducts=$woocommerce->cart->cart_contents_count;
if($numberOfProducts > 1){
wc_add_notice(
__( 'You cannot add another product to your cart.'.$numberOfProducts, 'woocommerce' ));
return false;
}
}
endif;
您需要return购物车项目数据,如果产品数量只有1:
function woocommerce_add_cart_myfunction( $cart_item_data ) {
$numberOfProducts = WC()->cart->cart_contents_count;
if ( $numberOfProducts > 1 ) {
wc_add_notice(
__( 'You cannot add another product to your cart.'.$numberOfProducts, 'woocommerce' ));
return false;
}
return $cart_item_data;
}