• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Нужно изменить отображение товаров и подкатегорий на странице категории

mashams

Новичок
Нужно сделать так, чтобы при открытии страницы какой-либо категории, подкатегории этой категории и товары выводились в виде таблицы. Допустим, в первой строке этой таблицы должно быть название подкатегории, ее описание и картинка. В следующих строках — список товаров этой подкатегории. Затем, в этой же таблице, точно так же, строка с информацией о следующей подкатегории и список ее товаров. И так далее, для всех подкатегорий данной категории. Для того, чтобы на странице категории выводились одновременно товары и подкатегории, ставлю в настройках тип отображения — «Оба». Товары мне удалось вывести в виде таблицы с помощью этой статьи: http://i-glu4it.ru/plugins/tablichnyj-vid-tovarov-woocommerce/. А подкатегории на данный момент выводятся как обычно в виде плиток, каким образом их тоже можно поместить в таблицу? В папке с темой есть файл woocommerce.php, в нем функция woocommerce_content(), которая отвечает за вывод подкатегорий и товаров. Насколько я поняла, вывод подкатегорий и товаров осуществляется с помощью файлов content-product_cat.php и content-product.php. Каким образом можно изменить эти файлы, чтобы подкатегории выводились в таблице, пока не знаю. В общем, подскажите, как поместить подкатегории в таблицу.
 

mashams

Новичок
Напишите хотя бы, как получить название подкатегории, описание подкатегории и картинку подкатегории
 

mashams

Новичок
Решила добавлением вот такой функции. Правильно ли это?
Код:
<?php function woocommerce_cat111()
    {
        global $product;
        $term             = get_queried_object();
        $parent_id         = empty( $term->term_id ) ? 0 : $term->term_id;
        $product_categories = get_categories(array(
            'parent'   => $parent_id,
            'menu_order'   => 'ASC',
            'hide_empty'   => 0,
            'hierarchical' => 1,
            'taxonomy'     => 'product_cat',
            'pad_counts'   => 1
        ) ) ;


        if ( $product_categories ) {
            
            foreach ( $product_categories as $category ) {
                
                
                $i = 1;

                while ( have_posts() ) : the_post();

                $categories = get_the_terms( $product->id, 'product_cat' );
                if (($category->term_id)==($categories[0]->term_id))
                {
                    if ($i == 1)
                    {   
                    echo '<tr><td class="table_name_cat">';
                    echo $category->name;
                    echo '</td><td colspan="5" class="product_table">';
                    echo $category->description;
                    echo '</td><td class="product_table"></td><td class="product_table"></td><td class="product_table"></td></tr>';
                    $i=0;
                    }
                    wc_get_template_part( 'content', 'product' );
                }
                endwhile;
            }
        }
        
    } ?>
 
Сверху Снизу