Задать вопрос
Serezhaua
@Serezhaua
я не человек ,я функция

Вывод категорий с постами?

Добрый день )
Подскажите как вывести на странице archive-service.php категории и с теми категориями посты(которые относятся к той категории )
сделал только вывод категорий ,но посты оно дублирует к каждой категории ,хоть оно в ней и не находиться

вот код вывода
<section class="services-page">
        <div class="container">
            <div class="services-page__box">
                <h1 class="services-page__title title">ПОСЛУГИ</h1>
                <?php
                $terms = get_terms( 'service', array(

                ) );
                var_dump($terms);
                // теперь выполняется запрос для каждого семейства животных
                foreach( $terms as $term ) {

                    // Определение запроса
                    $args = array(
                        'post_type' => 'service',
                    );
                    $query = new WP_Query( $args );
                    var_dump($args);


                    // вывод названий записей в тегах заголовков
                    echo'<h2>' . $term->name . '</h2>';

                    // вывод списком заголовков записей
                    echo '<ul>';

                    // Начало цикла
                    while ( $query->have_posts() ) : $query->the_post(); ?>

             <?php the_title();?>


                    <?php endwhile;



                    // используем сброс данных записи, чтобы восстановить оригинальный запрос
                    wp_reset_postdata();

                } ?>


а вот как дублирует 60b3bdc192f20354279761.png
подскажите как сделать так ,что бы оно выводило только записи к тем рубрикам ,к которым оно относиться ,а не к каждой
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Средний 9 комментариев
Решения вопроса 1
AntonLitvinenko
@AntonLitvinenko
HTML coder
Вроде помогло, оформлю в ответ, мошт ещё кому поможет
$terms_array = array( 
  'taxonomy' => 'services', // you can change it according to your taxonomy
  'parent'   => 0 // If parent => 0 is passed, only top-level terms will be returned
);
$services_terms = get_terms($terms_array); 
foreach($services_terms as $service): ?>
<h4><?php echo $service->name; ?></h4>
<?php 
$post_args = array(
      'posts_per_page' => -1,
      'post_type' => 'service', // you can change it according to your custom post type
      'tax_query' => array(
          array(
              'taxonomy' => 'services', // you can change it according to your taxonomy
              'field' => 'term_id', // this can be 'term_id', 'slug' & 'name'
              'terms' => $service->term_id,
          )
      )
);
$myposts = get_posts($post_args); ?>
<ul>
<?php foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
  <li>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
  </li>
<?php endforeach; // Term Post foreach ?>
</ul>
<?php wp_reset_postdata(); ?>

<?php endforeach; // End Term foreach; ?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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