Получить все категории всех продуктов в корзине в Woocommerce и проверить, сколько там - PullRequest
0 голосов
/ 12 февраля 2019

Я создаю сайт для клиента на Woocommerce.Они хотят добавить стоимость доставки в зависимости от категории продукта внутри корзины.Например, если в корзине содержатся следующие товары:

  • Товар с категорией 1 = (стоимость доставки: 10 долларов США)
  • Товар с категорией 2 = (плата за доставку: 10 долларов США)
  • Продукт с категорией 3 = (стоимость доставки: 10 долларов США)

Общая стоимость доставки = 30 долларов США.

Но если корзина содержит это:

  • Товар с категорией 1 = (стоимость доставки: 10 долларов США)
  • Товар2 с категорией 1 = (стоимость доставки: 0)<--- другой продукт с этой категорией уже существует, поэтому нет необходимости добавлять плату. </li>
  • Продукт с категорией 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!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...