Здравствуйте, у меня была такая задача: нужно было, чтобы, например, на странице рубрики "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');