programing

Wocommerce Add To Cart 전체 재고를 카트에 추가하기

bestprogram 2023. 9. 24. 13:02

Wocommerce Add To Cart 전체 재고를 카트에 추가하기

저는 카트에 다른 제품을 추가할 수 있는 조건입니다.그래서 누군가 제품을 구매할 때마다 다른 보완 제품이 자동으로 카트에 추가되어야 합니다.그래서 제가 노력해온 것은 다음과 같습니다.

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

두 대사 모두 동일한 메시지를 받습니다.

좋은 의견이라도 있나?

이것이 코드에서 당신의 문제를 해결할 수 있을지는 모르겠지만, 이 플러그인이 당신이 하려는 것을 할 수 있을 것입니다 http://woogang.com/product/woocommerce-chained-products-extension/ .

언급URL : https://stackoverflow.com/questions/31530613/woocommerce-add-to-cart-adding-whole-stock-into-cart