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

标签 php wordpress 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 ); 

我正在将产品添加到 session 中,以便我可以将其价格重置为折扣价。但问题是每当我尝试添加产品时,主要产品已完美添加到购物车中,但补充产品正在将所有可用库存添加到购物车中并显示消息“您不能将该数量添加到购物车中——我们有 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/

关于php - Woocommerce 添加到购物车将整个库存添加到购物车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31530613/

相关文章:

php - codeigniter,将对象传递给 View

php - Yii 框架 + WP 风格(使用 WP 数据库表)后层次结构 : I need to order categories and subcategories

php - 如何在 MySQL 中查找与数字字段相似的行?

php - 如何让 PHP 查看日期时间值

php - 使用 wp_insert_post 设置特色图片

javascript - iframe 中有多个 YouTube 播放器,选择框以更改 channel - 停止播放视频

javascript - WooCommerce 加载错误的 Assets 路径

wordpress - 仅对 WooCommerce 中的结帐页面强制使用 SSL (HTTPS)

php - WooCommerce 自定义 Ajax 添加到购物车 : How to set a custom price?

php - 具有单个 CloudFront 分发的多个网站不会被路由