从product_id获取产品类别Woocommerce

问题描述:

我需要检查特定产品是否属于某个类别?从product_id获取产品类别Woocommerce

public function check_add_to_cart_product() {  
    //Check to see if user has product in cart   
     $targetcatslug = array('indica', 'sativa', 'hybrid');//target categories slug 
     $incat=false; 
     $terms = get_the_terms($product_id,'product_cat'); 

     if ($terms && ! is_wp_error($terms)) : 

      foreach ($terms as $term) { 

       $product_cat_slug= $term->slug; 
       if($product_cat_slug == $targetcatslug) { 
        $incat = true; 
       } 
      } 
     endif; 

     return $incat; 
} 

例如if $product_id = 456,我想找到它的类别,并检查它们是否属于(“籼稻”,“sative”,“混合”)的类别。如果是,则返回true,否则返回false。我做错了什么?

我不知道你从哪里得到$ product_id的值,但是如果产品ID是正确提取的。你只需要在你的if条件使用

in_array($product_cat_slug, $targetcatslug)

。 确保您获得正确提取的产品编号。在您的代码中使用var_dump($product_id);来验证这一点。 其他所有内容在代码中似乎都是正确的。

让我这个工程。