根据项目检查并添加到购物车

时间:2014-12-30 19:11:12

标签: php wordpress woocommerce

我想查看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?
    }
}
}

1 个答案:

答案 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 {

}