WooCommerce:如何以编程方式将多个产品添加到购物车?
WooCommerce: how to add a number of products to the cart programatically?
我想在每次点击添加到购物车按钮时添加客户选择的产品数量的项目,
我尝试使用 woocommerce_add_to_cart_validation
修改产品数量,但对于可变产品,它将可变产品两次添加到购物车:
function so_validate_add_cart_item( $passed, $product_id, $quantity, $variation_id = '', $variations= '' ) {
global $product;
$product = new WC_Product($product_id);
if(!$variation_id) {
WC()->cart->add_to_cart( $product_id, ($quantity *3) - $quantity );
} else {
WC()->cart->add_to_cart( $variation_id, ($quantity *3) );
}
// do your validation, if not met switch $passed to false
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'so_validate_add_cart_item', 10, 5 );
不太清楚您的意图,但您可以使用以下挂钩(不适用于 ajax,申请后检查购物车)
function my_add_to_cart_quantity( $quantity, $product_id ) {
$quantity = $quantity * 3;
return $quantity;
}
add_filter( 'woocommerce_add_to_cart_quantity', 'my_add_to_cart_quantity', 10, 2 );
我想在每次点击添加到购物车按钮时添加客户选择的产品数量的项目,
我尝试使用 woocommerce_add_to_cart_validation
修改产品数量,但对于可变产品,它将可变产品两次添加到购物车:
function so_validate_add_cart_item( $passed, $product_id, $quantity, $variation_id = '', $variations= '' ) {
global $product;
$product = new WC_Product($product_id);
if(!$variation_id) {
WC()->cart->add_to_cart( $product_id, ($quantity *3) - $quantity );
} else {
WC()->cart->add_to_cart( $variation_id, ($quantity *3) );
}
// do your validation, if not met switch $passed to false
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'so_validate_add_cart_item', 10, 5 );
不太清楚您的意图,但您可以使用以下挂钩(不适用于 ajax,申请后检查购物车)
function my_add_to_cart_quantity( $quantity, $product_id ) {
$quantity = $quantity * 3;
return $quantity;
}
add_filter( 'woocommerce_add_to_cart_quantity', 'my_add_to_cart_quantity', 10, 2 );