首页 > 解决方案 > 检查产品类别点击添加到购物车按钮,并根据结果执行条件

问题描述

如果添加到购物车的产品具有特定类别,我需要指示 WooCommerce 不要调用某些特定函数。在 WooCommerce答案代码中添加到购物车之前,
我使用的是空购物车。

例如,我有以下类别的产品:化妆品。而且我有一个没有任何类别的产品。如果用户将没有类别的产品添加到购物车,则代码可以正常工作。

但是如果用户将产品添加到购物车,并且该产品有一个类别:化妆品。我不需要以前的代码来工作。我知道在添加阶段,我需要做一些检查。我认为这个答案的功能会对我有所帮助。

如果用户未登录 Woocommerce 答案代码(第一个挂钩函数),则基于避免添加到特定产品类别的购物车,这是我尝试过的:

add_filter( 'woocommerce_add_to_cart_validation', 'avoid_add_to_cart_conditionally', 20, 3 );
function avoid_add_to_cart_conditionally( $passed, $product_id, $quantity) {
    // HERE your product categories (can be IDs, slugs or names terms)
    $terms = array( 'cosmetics');
    
    if( !has_terms( $terms, 'product_cat', $product_id )){
        // Here I put the function that I showed for an example earlier.
        $passed = false;
    }
    return $passed;
}

但它没有用。我尝试了几种选择,但仍然没有成功。请帮助我理解这个问题。

标签: woocommerce

解决方案


推荐阅读