2015-07-21 187 views
4

我在一个条件添加产品到另一个产品到购物车。因此,无论何时有人购买产品,都应该自动将其他辅助产品添加到购物车中。所以这里是我一直在尝试的:Woocommerce添加到购物车将整个股票添加到购物车

function save_gift_wrap_fee($cart_item_key) { 

    if($_POST['offered-product-id']) 
    { 
     global $woocommerce; 
     if($_POST['offered-product-variation-id']){ 
      $woocommerce->cart->add_to_cart($_POST['offered-product-id'],'1',$_POST['offered-product-variation-id'],array('Flavour'=>$_POST['offered-product-variation-name']),null);  

     } 
     else{ 
      $woocommerce->cart->add_to_cart($_POST['offered-product-id'],'1');  

     } 

     WC()->session->set($cart_item_key.'_offered_product_id', $_POST['offered-product-id']); 
     WC()->session->set($cart_item_key.'_offered_product_price', $_POST['offered-product-price']); 
     WC()->session->set($cart_item_key.'_offered_variation_id', $_POST['offered-product-variation-id']); 
    } 
    else 
    { 
     WC()->session->__unset($cart_item_key.'_offered_product_id'); 
    } 

} 
add_action('woocommerce_add_to_cart', 'save_gift_wrap_fee', 1, 5); 

我正在将产品添加到会话中,以便我可以将其价格重置为折扣价格。但问题是,每当我尝试添加产品时,主要产品都完美地添加到购物车中,但补充的是将所有可用库存添加到购物车中并显示消息“您无法将该数量添加到购物车 - 我们有3有库存,你的购物车里已经有3个了。“

我猜测的问题是与add_to_cart()的参数,我试图如下:

$woocommerce->cart->add_to_cart($_POST['offered-product-id'],'1',$_POST['offered-product-variation-id'],array('Flavour'=>$_POST['offered-product-variation-name']),null); 

$woocommerce->cart->add_to_cart($_POST['offered-product-id'],1,$_POST['offered-product-variation-id'],array('Flavour'=>$_POST['offered-product-variation-name']),null); 

获得相同的消息与两个线。

有什么建议吗?

回答

相关问题