如果产品在Woocommerce上的购物车中,请删除添加到购物车按钮

时间:2019-03-13 16:28:49

标签: php wordpress woocommerce product cart

如何允许将特定产品添加到购物车一次?

或者,如果产品已经在购物车中,那么是否可以重定向到购物车页面

我在这里找到了解决方案,因为它不起作用

Disable Woocommerce add to cart button if the product is already in cart

如何对所有产品而不是单个产品执行此操作?

1 个答案:

答案 0 :(得分:1)

此功能将检查您的产品是否已经在购物车中。如果是这样,它将重定向到购物车页面。如果您要直接重定向到结帐,请参见代码中的注释。

只需将以下内容放在您的functions.php中。

经过测试可以正常工作。

function check_if_product_in_cart($valid, $product_id, $quantity) {
    global $woocommerce;
    if($woocommerce->cart->cart_contents_count > 0){
        foreach($woocommerce->cart->get_cart() as $key => $val ) {
            $_product = $val['data'];
            if($product_id == $_product->id ) {
                // $url = WC()->cart->get_checkout_url(); // Checkout
                $url = wc_get_cart_url();  // Cart
                wp_redirect($url);
                exit;
            }
        }
    }
    return $valid;
}
add_filter( 'woocommerce_add_to_cart_validation', 'check_if_product_in_cart',11,3);
相关问题