是否可以根据用户当前所在的唯一商店存档页面,使用woocommerce_add_to_cart_validation
验证woocommerce购物车?我通过ajax添加到购物车。
e.g。
下面的代码段可以运行并根据$item_count >= 20
应用验证:
// Prevent Redirect after cart error
add_filter( 'woocommerce_cart_redirect_after_error', '__return_false');
add_filter( 'woocommerce_add_to_cart_validation', 'restrict_only_one_item_in_cart' );
function restrict_only_one_item_in_cart($cart_item_data) {
global $woocommerce;
$item_count = $woocommerce->cart->cart_contents_count;
if($item_count >= 20){
return false;
}
return $cart_item_data;
}
当我更新IF条件并添加is_page()
约束以便将规则应用于某些页面时。 woocommerce_add_to_cart_validation
根本不会触发。
使用is_page()
更新了以下IF条件:
if((is_page('strongshop') || is_page('strongshopmobile')) && $item_count >= 20){
return false;
项目正在通过AJAX添加到购物车中,所以我很难过为什么这不会触发...任何建议?
答案 0 :(得分:0)
这可能有效:
add_action( 'wp_ajax_restrict_only_one_item_in_cart', 'restrict_only_one_item_in_cart' );
add_action( 'wp_ajax_nopriv_restrict_only_one_item_in_cart', 'restrict_only_one_item_in_cart' );
function restrict_only_one_item_in_cart() {
...
}