WooCommerce 在添加到购物车之前重置数量(以防止添加)
WooCommerce reset quantity before adding to cart (to prevent addition)
当我将 3
的产品数量添加到购物车时,一切都很好。
但是在向购物车中添加了 5
个数量后,我希望购物车中的数量为 5
而不是 8
。
我希望最后发送的数量覆盖之前的数量,而不是添加。
此外,我希望它仅在特定产品 ID 上表现得像这样。
哪个钩子适合这个?
您可以使用 woocommerce_add_to_cart
钩子
在此示例中,使用了产品 ID 30
function action_woocommerce_add_to_cart ( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ) {
// Get current product id
$product_id = $variation_id > 0 ? $variation_id : $product_id;
// Specific product ID, compare
if ( $product_id == 30 ) {
// Set quantity
WC()->cart->set_quantity( $cart_item_key, $quantity );
}
}
add_action( 'woocommerce_add_to_cart', 'action_woocommerce_add_to_cart', 10, 6 );
当我将 3
的产品数量添加到购物车时,一切都很好。
但是在向购物车中添加了 5
个数量后,我希望购物车中的数量为 5
而不是 8
。
我希望最后发送的数量覆盖之前的数量,而不是添加。
此外,我希望它仅在特定产品 ID 上表现得像这样。
哪个钩子适合这个?
您可以使用 woocommerce_add_to_cart
钩子
在此示例中,使用了产品 ID 30
function action_woocommerce_add_to_cart ( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ) {
// Get current product id
$product_id = $variation_id > 0 ? $variation_id : $product_id;
// Specific product ID, compare
if ( $product_id == 30 ) {
// Set quantity
WC()->cart->set_quantity( $cart_item_key, $quantity );
}
}
add_action( 'woocommerce_add_to_cart', 'action_woocommerce_add_to_cart', 10, 6 );