Woocommerce添加到购物车将全部库存添加到购物车

Dik*_*att 6 php wordpress wordpress-plugin woocommerce woothemes

我可以将一个产品和另一个产品一起添加到购物车中。这样,无论何时有人购买产品,都应将另一种补充产品自动添加到购物车中。所以这是我一直在尝试的:

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 ); 
Run Code Online (Sandbox Code Playgroud)

我将产品添加到会话中,以便可以将其价格重置为折扣价。但是问题是,每当我尝试添加产品时,主要产品就完美地添加到了购物车中,而补充产品是将所有可用库存添加到购物车中,并显示以下消息:“您无法将该数量添加到购物车中,我们有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);
Run Code Online (Sandbox Code Playgroud)

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

两行都得到相同的消息。

有什么建议么 ?

Ben*_*enB 0

我不确定这是否会解决您在代码中的问题,但这个插件可能会做您想做的事情http://woogang.com/product/woocommerce-chained-products-extension/