Exebeche
@Exebeche
Осваиваю программирование

Почему при перечислении цикла выводится больше результатов, чем в массиве?

Создаю тему для WooCommerce и все бы хорошо, но нужно чтобы на странице родительской категории отображался список дочерних категорий(не пустых), чего по умолчанию в WooCommerce хоть и предусмотрено, но тогда главная не кастомизируется...
Нашел решение - в файле content-product.php нужно прописать:
<?php
    $parentid = get_queried_object_id();

    $args = array(
        'parent' => $parentid
    );

    $terms = get_terms( 'product_cat', $args );

    if ( $terms ): ?>

        <?php echo '<ul class="product-cats">';

        foreach ( $terms as $term ) {

            echo '<li class="category">';

            woocommerce_subcategory_thumbnail( $term );

            echo '<h2>';
            echo '<a href="' .  esc_url( get_term_link( $term ) ) . '" class="' . $term->slug . '">';
            echo $term->name;
            echo '</a>';
            echo '</h2>';

            echo '</li>';


        } 

        echo '</ul>';
        ?>
    <?php else: ?>


Все отлично до foreach... $terms содержит верное количество объектов равное количеству дочерних категорий, но при перечислении цикла возвращается столько объектов, сколько в них товаров. При чем в каждом содержатся все дочерние категории.
Есть подозрение, что файл не тот, но Гугло уверяет, что именно этот файл нужно редактировать для этой цели...

Как победить этот WooCommerce?
Совсем непонятна структура его шаблона и принцип его работы... Хотя и статьи читал и кодекс смотрел...но ниасилил...
  • Вопрос задан
  • 26 просмотров
Пригласить эксперта
Ответы на вопрос 1
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
но при перечислении цикла возвращается столько объектов, сколько в них товаров

Что вполне логично. Шаблон content-product.php служит для вывода товара в цикле.

Как победить этот WooCommerce?

Попробуйте шаблон archive-product.php.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы