Как исключить несколько категорий из query_posts?
Сайт на WordPress. Я пытаюсь вывести записи из текущей рубрики. Но стоит задача исключить категории с id 3 и 8. Как не пыталась не получается, подскажите пожалуйста.
<?php
$infocat = get_the_category();
$info = $infocat[0]->cat_ID;
$array = "cat=$info";
query_posts($array);
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<a class="permlinccat" href="<?php the_permalink() ?>" title="Перейти к посту: <?php the_title(); ?>" ><?php the_title(); ?></a>
<?php endwhile; else: ?>
Постов не найдено
<?php endif; wp_reset_query(); ?>
Ответы (1 шт):
Автор решения: WP Punk
→ Ссылка
Не используйте query_posts. Подробнее тут: https://www.kobzarev.com/wordpress/query-posts/.
Вместо этого используйте WP_Query:
$query = WP_Query( [
'post_type' => 'post',
'posts_per_page' => 10,
'category__in' => [ get_queried_object_id() ], // Current category ID.
'category__not_in' => [ 3, 8 ] // term_id for excludes.
] );
var_dump( $query->posts );