woocommerce_add_to_cart_validation
woocommerce_add_to_cart_validation
Appears in: woocommerce.3.4.2, woocommerce.3.4.4, woocommerce.3.4.5, woocommerce.3.4.6, woocommerce.3.4.7, woocommerce.3.5.0, woocommerce.3.5.1, woocommerce.3.5.2, woocommerce.3.5.3, woocommerce.3.5.4, woocommerce.3.5.5, woocommerce.3.5.6, woocommerce.3.5.7, woocommerce.3.5.8, woocommerce.3.6.1, woocommerce.3.6.2, woocommerce.3.6.3, woocommerce.3.6.4, woocommerce.3.6.5, woocommerce.3.7.0, woocommerce.3.7.1, woocommerce.3.8.0, woocommerce.3.8.1, woocommerce.3.9.0, woocommerce.3.9.1, woocommerce.3.9.2, woocommerce.3.9.3, woocommerce.4.0.0, woocommerce.4.0.1, woocommerce.4.1.0, woocommerce.4.1.1, woocommerce.4.2.0, woocommerce.4.2.1, woocommerce.4.3.0, woocommerce.4.3.1, woocommerce.4.3.2, woocommerce.4.3.3, woocommerce.4.4.0, woocommerce.4.4.1, woocommerce.4.5.1, woocommerce.4.5.2, woocommerce.4.6.0, woocommerce.4.6.1, woocommerce.4.6.2, woocommerce.4.7.0, woocommerce.4.7.1, woocommerce.4.8.0, woocommerce.4.9.0, woocommerce.4.9.1, woocommerce.4.9.2, woocommerce.5.0.0, woocommerce.5.1.0, woocommerce.5.2.0, woocommerce.5.2.1, woocommerce.5.2.2, woocommerce.5.3.0, woocommerce.5.4.0, woocommerce.5.4.1, woocommerce.5.5.0, woocommerce.5.5.1, woocommerce.5.5.2, woocommerce.5.6.0, woocommerce.5.6.1, woocommerce.5.7.0, woocommerce.5.7.1, woocommerce.5.8.0, woocommerce.6.3.1, woocommerce.6.4.1, woocommerce.6.5.1, woocommerce.6.6.1, woocommerce.6.7.0, woocommerce.6.8.0, woocommerce.6.8.1, woocommerce.6.8.2, woocommerce.6.9.0, woocommerce.6.9.4, woocommerce.7.0.0, woocommerce.7.1.0, woocommerce.7.1.1, woocommerce.7.2.2, woocommerce.7.3.0, woocommerce.7.4.0, woocommerce.7.4.1, woocommerce.7.5.1, woocommerce.7.6.0, woocommerce.7.6.1, woocommerce.7.7.0, woocommerce.7.7.1, woocommerce.7.8.1, woocommerce.7.9.0, woocommerce.8.0.3, woocommerce.8.1.1, woocommerce.8.2.1, woocommerce.8.2.2, woocommerce.8.3.1, woocommerce.8.4.0, woocommerce.8.5.1, woocommerce.8.5.2, woocommerce.8.6.0, woocommerce.8.6.1, woocommerce.8.7.0, woocommerce.8.8.3, woocommerce.8.9.2, woocommerce.8.9.3, woocommerce.9.0.2, woocommerce.9.1.2, woocommerce.9.1.4, woocommerce.9.2.2, woocommerce.9.2.3, woocommerce.9.3.1, woocommerce.9.3.3, woocommerce.9.4.2, woocommerce.9.4.3, woocommerce.9.5.1, woocommerce.9.5.2, woocommerce.9.7.0, woocommerce.9.7.1, woocommerce.9.8.1
Hook Type: filter
See hook in action
Displaying hooks found in version: woocommerce.9.8.1apply_filters('woocommerce_add_to_cart_validation') is found 5 times:
- /includes/class-wc-ajax.php line 469466467468469470471472473474475
$product_id
= apply_filters(
'woocommerce_add_to_cart_product_id'
, absint(
$_POST
[
'product_id'
] ) );
$product
= wc_get_product(
$product_id
);
$quantity
=
empty
(
$_POST
[
'quantity'
] ) ? 1 : wc_stock_amount( wp_unslash(
$_POST
[
'quantity'
] ) );
$passed_validation
= apply_filters(
'woocommerce_add_to_cart_validation'
, true,
$product_id
,
$quantity
);
$product_status
= get_post_status(
$product_id
);
$variation_id
= 0;
$variation
=
array
();
if
(
$product
&& ProductType::VARIATION ===
$product
->get_type() ) {
$variation_id
=
$product_id
;
- /includes/class-wc-cart-session.php line 513509510511512513514515516517518519
$variations
[
$meta
->key ] =
$meta
->value;
}
}
if
( ! apply_filters(
'woocommerce_add_to_cart_validation'
, true,
$product_id
,
$quantity
,
$variation_id
,
$variations
,
$cart_item_data
) ) {
continue
;
}
// Add to cart directly.
$cart_id
= WC()->cart->generate_cart_id(
$product_id
,
$variation_id
,
$variations
,
$cart_item_data
);
$product_data
= wc_get_product(
$variation_id
?
$variation_id
:
$product_id
);
- /includes/class-wc-form-handler.php line 869865866867868869870871872873874875
* @
return
bool success
or
not
*/
private
static
function
add_to_cart_handler_simple(
$product_id
) {
$quantity
=
empty
(
$_REQUEST
[
'quantity'
] ) ? 1 : wc_stock_amount( wp_unslash(
$_REQUEST
[
'quantity'
] ) );
// phpcs:ignore WordPress.Security.NonceVerification.Recommended
$passed_validation
= apply_filters(
'woocommerce_add_to_cart_validation'
, true,
$product_id
,
$quantity
);
if
(
$passed_validation
&& false !== WC()->cart->add_to_cart(
$product_id
,
$quantity
) ) {
wc_add_to_cart_message(
array
(
$product_id
=>
$quantity
), true );
return
true;
}
return
false;
- /includes/class-wc-form-handler.php line 901897898899900901902903904905906907
}
$quantity_set
= true;
// Add to cart validation.
$passed_validation
= apply_filters(
'woocommerce_add_to_cart_validation'
, true,
$item
,
$quantity
);
// Suppress total recalculation until finished.
remove_action(
'woocommerce_add_to_cart'
,
array
( WC()->cart,
'calculate_totals'
), 20, 0 );
if
(
$passed_validation
&& false !== WC()->cart->add_to_cart(
$item
,
$quantity
) ) {
$was_added_to_cart
= true;
- /includes/class-wc-form-handler.php line 951948949950951952953954955956957
$variations
[ sanitize_title( wp_unslash(
$key
) ) ] = wp_unslash(
$value
);
}
$passed_validation
= apply_filters(
'woocommerce_add_to_cart_validation'
, true,
$product_id
,
$quantity
,
$variation_id
,
$variations
);
if
( !
$passed_validation
) {
return
false;
}
// Prevent parent variable product from being added to cart.