【发布时间】:2015-10-10 09:48:54
【问题描述】:
我可以将一种产品与另一种产品一起添加到购物车中。因此,每当有人购买产品时,应自动将另一种补充产品添加到购物车中。所以这就是我一直在尝试的:
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);
两行都得到相同的消息。
有什么建议吗?
【问题讨论】:
标签: php wordpress woocommerce woothemes