首页 文章

Woocommerce添加到购物车将整个库存添加到购物车

提问于
浏览
4

我有条件将另一种产品添加到购物车中 . 因此,每当有人购买产品时,应自动将另一种补充产品添加到购物车中 . 所以这就是我一直在尝试的:

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

用两行获得相同的消息 .

有什么建议 ?

1 回答

相关问题