【问题标题】:Check if a product belongs to a specific product category in Woocommerce检查产品是否属于 Woocommerce 中的特定产品类别
【发布时间】:2018-05-19 13:39:20
【问题描述】:

在 Woocommerce 中,我想检查产品是否属于产品类别“肥皂”。

我正在使用此代码:

<?php
    global $woocommerce;
    $items = $woocommerce->cart->get_cart();

        foreach($items as $item => $values) { 
            $_product =  wc_get_product( $values['data']->get_id() );
            $getProductDetail = wc_get_product( $values['product_id'] );
            echo "<b>".$_product->get_title() .'</b>  <br> Quantity: '.$values['quantity'].'<br>'; 
            // $category[] = $item->slug;
            // echo $category[0]->cat_name;
            $categories = $_product->get_categories();
            if(has_term( 'soap',$categories )){
                echo "success";
            }else{

                echo "nope";
            }
        }
?>

但是当我得到“不”时,我无法让它工作。我认为这是问题所在的代码部分:

$categories = $_product->get_categories();
            if(has_term( 'soap',$categories )){
                echo "success";
            }else{

                echo "nope";
            }
        }

感谢您的帮助

【问题讨论】:

    标签: php wordpress woocommerce cart custom-taxonomy


    【解决方案1】:

    更新:以下是使其工作的正确方法:

    foreach(WC()->cart->get_cart() as $cart_item ) { 
        // The instance of the WC_Product object
        $_product = $cart_item['data'];
        // Some output
        echo '<b>'.$cart_item['data']->get_title().'</b>  <br>'; 
        echo 'Quantity: '.$cart_item['quantity'].'<br>'; 
    
        // Check for a specific product category
        if( has_term( 'soap', 'product_cat', $cart_item['product_id'] ) ){
            echo "success";
        } else {
            echo "nope";
        }
    }
    

    经过测试和工作。

    注意事项:

    • 要从购物车项目中获取WC_Product 对象,只需使用$cart_item['data']
    • 由于产品变体不管理产品类别或产品标签,在这种情况下,我们得到$cart_item['product_id'] 允许的父变量产品ID...
      因此,请始终在购物车商品中使用 $cart_item['product_id'] 来定位产品类别或产品标签。
    • Woocommerce 产品类别是自定义分类,不同于 Wordpres 类别。
    • product_cat 是与 has_term() 和其他一些与术语相关的 Wordpress 函数一起使用的产品类别的分类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-20
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多