如果产品已在购物车

时间:2018-04-18 13:19:11

标签: php html wordpress woocommerce

我使用此代码阻止用户在迷你购物车中添加相同的产品,它运行正常。

//Block to add same product in the mini cart
function check_if_cart_has_product( $valid, $product_id, $quantity ) {  

    if(!empty(WC()->cart->get_cart()) && $valid){
        foreach (WC()->cart->get_cart() as $cart_item_key => $values) {
            $_product = $values['data'];

            if( $product_id == $_product->id ) {
                unset(WC()->cart->cart_contents[$cart_item_key]);
                echo'<i class="fa fa-shopping-cart disabled"></i>';
            }
        }
    }

    return $valid;

}
    add_filter( 'woocommerce_add_to_cart_validation', 'check_if_cart_has_product', 10, 3 );

但我希望此处禁用添加到购物车按钮,当产品已经在购物车中,当用户从购物车中删除产品然后再次启用按钮。

<a href="?add-to-cart=575" data-quantity="1" class="button product_type_simple add_to_cart_button ajax_add_to_cart" data-product_id="575" data-product_sku="1234" aria-label="Add &ldquo;Mercedes-Benz rose&rdquo; to your cart" rel="nofollow"><i class="fa fa-shopping-cart"></i></a>

任何人都可以帮忙,我怎么能得到这个?

1 个答案:

答案 0 :(得分:0)

如果您将其设为链接,则还需要更改href以及启用/禁用切换。如果你有按钮,那么你可以简单地使用jquery。