在Woocommerce中获取购物车中所有产品的所有类别,并检查其中有多少

时间:2019-02-12 18:02:47

标签: php wordpress woocommerce

我正在为Woocommerce上的客户构建网站。 他们希望根据购物车内的产品类别增加送货费。因此,例如,如果购物车中包含以下产品:

  • 类别1 =(送货费:$ 10)的产品
  • 类别2 =(送货费:$ 10)的产品
  • 3类产品=(送货费:$ 10)

总送货费= $ 30。

但是,如果购物车中包含以下内容:

  • 类别1 =(送货费:$ 10)的产品
  • 类别1 =(送货费:0)的Product2 <---已经存在该类别的另一种产品,因此无需添加费用。
  • 类别2 =(送货费:$ 10)的产品
  • 类别3 =(送货费:$ 10)的产品

我需要实现的是从购物车中找到的所有产品中获取所有类别,然后查看有多少个独特的类别。

关于如何实现这一目标的任何想法?

我尝试使用

之类的东西
add_action('woocommerce_before_cart', 'check_if_cat_in_cart');

    function check_if_cat_in_cart() {
            $cat_array = array("category-one", "category-two" ,"category-three" ,"category-four", "category-five");
       // Loop through all products in the Cart        
        foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
          if ( has_term( $cat_array , 'product_cat', $cart_item['product_id'] ) ) {

             ////// Stuck here


          }
        }
    }

但是,由于我对PHP的了解并不多,所以我实在无法实现这一目标!

0 个答案:

没有答案