我想查看ITEM A的购物车,
如果存在ITEM A,请添加ITEM B,
如果有两个人没有。
我在下面使用此代码。它的工作,但需要检查这两个项目是否在购物车中,而不是添加另一项。谢谢你的帮助。
// add item to cart on visit
add_action( 'init', 'add_product_to_cart' );
function add_product_to_cart() {
if ( ! is_admin() ) {
global $woocommerce;
$product1_id = 66;
$product2_id = 88;
$found = false;
//check if product1 is in cart
if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) {
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if ( $_product->id == $product1_id )
$found = true;
}
// if product1 found, add product2
if ( $found )
$woocommerce->cart->add_to_cart( $product2_id );
} else {
// check for product2 here?
}
}
}
答案 0 :(得分:0)
假设你的原始代码有效,我就是这样做的。为了便于阅读,我重命名了一两个变量。
$product_1_in_cart = false;
$product_2_in_cart = false;
if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) {
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if ( $_product->id == $product1_id )
$product_1_in_cart = true;
if ( $_product->id == $product2_id )
$product_2_in_cart = true;
}
// if product 1 is in cart, and product 2 is not in cart
if ( $product_1_in_cart && !$product_2_in_cart ){
$woocommerce->cart->add_to_cart( $product2_id );
}
} else {
}