繁体   English   中英

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 );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM