Как вывести все подрубрики на странице одной подрубрики?

Добрый день! Изучаю wordpress и столкнулся с такой задачей!
Есть страница category.php на ней я вывожу массив категорий, затем массив подкатегорий и вывожу посты подкатегорий.
Проблема следующая, когда я перехожу на Родительскую категорию, например это будет HONDA то у меня выводятся все мои подкатегории, например это будут (Honda Civic, Honda CRV), но когда я перехожу во внутрь подкатегории, например в подкатегорию Honda Civic то у меня уже отображаются только записи этой подкатегории, а списка всех подкатегорий нет.
Подскажите возможно ли вывести все подкатегории в определенной подкатегории.
Вот мой код в файле category.php
<div class="tabs catalog__tabs">

      <ul class="tabs__buttons catalog__tabs-buttons">

        <?php
          $catlist = get_categories(array (
            'parent' => 0,
            'hide_empty' => 0,
            'exclude' => '1,4,5,6',
            'orderby' => 'count',
            'order' => 'DESC',
          )); 
        ?>

        <?php foreach ($catlist as $category) : ?>

          <?php 
            $terms = apply_filters('taxonomy-images-get-terms', '', array (
              'taxonomy' => 'category' // таксономия, для которой нужны изображения
            ));
          ?>

          <? if (!empty($terms)){ ?>
            <?php foreach((array)$terms as $term) : ?>
              <?php if ($term->term_id == $category->term_id) : ?>

                <a href="<?php echo get_category_link( $category->term_id )?>" class="tabs__button">
                <?php echo wp_get_attachment_image($term->image_id, ''); ?>
                </a>

              <? endif; ?>
            <? endforeach; ?>
          <?php } ?>

        <?php endforeach; ?>

      </ul>

    </div>

    <div class="catalog__wrapper">
      
      <aside class="sidebar">
        <?php 
          $parent_id = get_query_var('cat'); //получаем текущую категорию
          $sub_cats = get_categories( array( //получаем ID пройдясь по массиву категорий
            'child_of' => $parent_id,
            'hide_empty' => 0
          )); 
        ?>

        <?php $images_raw  = get_option( 'taxonomy_image_plugin' ); ?>

        <?php $index = 0; foreach ($sub_cats as $category) : $index++; $next = $index + 1; ?>  

          <?php 
            $term_taxonomy_id = $category->term_taxonomy_id; 
            $term_taxonomy_name = $category->name;    
            $term_taxonomy_image = wp_get_attachment_image( $images_raw[ $term_taxonomy_id ], 'full' );
            $term_taxonomy_link = get_term_link((int)$term_taxonomy_id, 'category' ); 
          ?>
    
          <a id="<?php echo $category->term_id; ?>" href="<?php echo $term_taxonomy_link ?>" <?php if ( $index == 1 ) echo 'class="sidebar__item tabs__button--active js-tabs__button"';?> class="sidebar__item js-tabs__button" data-tab-index="<?php echo $index ?>">
            <div class="sidebar__pic"><?php echo $term_taxonomy_image ?></div>
            <h3 class="sidebar__name"><?php echo $term_taxonomy_name ?></h3>
          </a>
          
        <?php endforeach; ?>
        <?php echo $term_taxonomy_string; ?> 
      </aside>
      

      <div class="content content--border">
          
        <?php if ( function_exists( 'dimox_breadcrumbs' ) ) dimox_breadcrumbs(); ?>
  
        <?php $index = 0; foreach ($sub_cats as $category) : $index++; $next = $index + 1; ?>
          <div id="cat<?php echo $category->term_id; ?>" <?php if ( $index == 1 ) echo 'class="content-inner content-inner--cat tabs__content--active js-tabs__content"'?>class="content-inner content-inner--cat js-tabs__content" data-tab-index="<?php echo $index ?>">
            <?php 
              $mypost = array( 
                'post_type' => 'post', 
                'category'=>$category->term_id
              );
              $products = get_posts( $mypost );
            ?>
            <ul class="card-list">
            
                <?php foreach ( $products as $post ) { setup_postdata( $post ); ?>
            
                  <a href="<?php the_permalink();?>" class="card-list__item">
                    <div class="card-list__pic">
                      <?php the_post_thumbnail();?>
                    </div>
                    <h3 class="card-list__name"><?php the_title(); ?></h3>
                  </a>

                <?php } wp_reset_postdata(); ?>
                
            </ul>
          </div>
        <?php endforeach; ?>

          <ul class="card-list">

              <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

              <a href="<?php the_permalink(); ?>" class="card-list__item">
                <div class="card-list__pic">
                  <?php the_post_thumbnail(); ?>
                </div>
                <h3 class="card-list__name"><?php the_title(); ?></h3>
              </a>

              <?php endwhile; else : ?>

              <?php endif; ?>

          </ul>
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
kaliyan
@kaliyan
php-developer, wordpress-developer
Вы получаете подкатегории текущей категории.
Если текущая Honda, то выводятся все модели (Honda Civic, Honda CR-V), а если текущая Honda Civic, то ничего не выводится (так как у Honda Civic нет подкатегорий).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы