• Всем привет.

    Не получается вывести определенную категорию с подкатегориями Wocoommerce.

    Есть код, который выводит все категории

    <?php
          $args = array(
            'taxonomy' => 'product_cat',
            'number' => 8,
            'exclude' => '16, 19, 20',
            'hide_empty' => false,
          );
    
          $product_categories = get_terms( $args );
    
          $count = count($product_categories);
    
          if ( $count > 0 ){
            foreach ( $product_categories as $product_category ) {
                $thumbnail_id = get_woocommerce_term_meta( $product_category->term_id, 'thumbnail_id', true );
                $item = '<div class="catalog__category category-block">';
                $item .= '<a href="' . get_term_link( $product_category ) . '" class="category-block__link"></a>';
                $item .= '<img class="category-block__img" src="'.  wp_get_attachment_url( $thumbnail_id ) .'" alt="">';
                $item .= '<h3 class="category-block__title">' . $product_category->name . '</h3>';
                $item .= '</div>';
                echo $item;
    
            }
          }
    ?>

    Как сделать чтобы выводилась конкретная категория с подкатегориями?

    • Тема изменена 5 лет, 8 месяцев назад пользователем SeVlad. Причина: перенос в подходящий раздел
Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Как сделать чтобы выводилась конкретная категория с подкатегориями?

    Мне в принципе не понятно выражение «выводилась категория» и я думаю что речь о выводе ТОВАРОВ в категориях.
    У WC для этого есть свои функции: is_product_category, woocommerce_get_product_subcategories и тд.
    См https://docs.woocommerce.com/wc-apidocs/package-WooCommerce.Functions.html

    Мне в принципе не понятно выражение «выводилась категория» и я думаю что речь о выводе ТОВАРОВ в категориях.

    Нет нет, чтобы выводилась категория с подкатегориями.
    Вывод категорий по коду который я прислал выглядит как-то так:

    View post on imgur.com

    woocommerce_get_product_subcategories если я правильно понял

    Но даже если и нет — по указному адресу наверняка найдете нужное.

    Не получается.
    Я пробовал в своем коде менять массив.

    $args = array(
            'taxonomy' => 'product_cat',
            'cat' => '33' // id категории
            'hide_empty' => false,
          );

    Без результатов.

    Получилось вывести категорию со всеми подкатегориями.

    $args = array(
      'number'     => $number,
      'orderby'    => $orderby,
      'order'      => $order,
      'hide_empty' => $hide_empty,
      'include'    => $ids,
      'child_of'    => 33
    );
    
    $product_categories = get_terms( 'product_cat', $args );
    foreach( $product_categories as $cat ) {
    $thumbnail_id = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true );
    $item = '<div class="catalog__category category-block">';
    $item .= '<a href="' . get_term_link( $cat ) . '" class="category-block__link"></a>';
    $item .= '<img class="category-block__img" src="'.  wp_get_attachment_url( $thumbnail_id ) .'" alt="">';
    $item .= '<h3 class="category-block__title">' . $cat->name . '</h3>';
    $item .= '</div>';
    echo $item;
    }

    Как можно сделать чтобы не выводились сабкатегории подкатегорий?

    Как можно сделать чтобы не выводились сабкатегории подкатегорий?

    попробуйте добавить в $args
    hierarchical => false

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Вывод категорий Woocommerce» закрыта для новых ответов.