@morgana_lf

Как в Wordpress вывести записи одновременно из текущей и другой рубрики?

Здравствуйте, у меня была такая задача: нужно было, чтобы, например, на странице рубрики "Arch Enemy" (с шаблоном category.php) отображались записи, которые одновременно принадлежат и рубрике "Arch Enemy", и рубрике "новости", далее - рубрике "Arch Enemy"+ рубрике "интервью", и т.д. При этом шаблон category.php у каждой рубрики идет по умолчанию, и просто напрямую указать id текущей категории не получится. Нужно как-то получать id текущей рубрики. Написала так:

<?php
               $getcat = get_the_category();
               $cat = $getcat[0]->cat_ID;
               $args = array( 'posts_per_page' => -1, 'category__and' => array(4,$cat) );
               $lastposts = get_posts( $args );
               if ($lastposts): foreach($lastposts as $post) : setup_postdata($post);
            ?>                                
                
                 <!-- Здесь идут посты -->
                         
 <?php endforeach; else: ?>
                  Новостей пока нет.
<?php endif;  wp_reset_postdata() ?>


По аналогии выводятся записи из рубрик "интервью" и "рецензии".

По началу вроде показалось, что всё правильно работает, но когда вывела весь каталог групп, оказалось, что для некоторых выводится правильно, а для некоторых нет. Например, для Arch Ennemy всё отображается верно: astartaview.ru/a/arch-enemy
А для рубрики Ignes Fatui выводятся все новости в кучу: astartaview.ru/g-i/ignes-fatui

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

Вопрос решен: $cat_ID = get_query_var('cat');
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Используйте хук pre_get_posts вместо get_posts()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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