Как вывести посты, свой тип записи нужной категории WordPress?

У меня есть тип записей offer
таксономия offer_cat
Мне нужно вывести все записи offer у которых катерия offer_cat имеет например айдишник 65
Пробую вот так
<?
          $posts = array(
            'taxonomy' => 'offer_cat',
            'post_type' => 'offer',
            'cat' => 65
          );
          ?>
          <?php
          $pc = new WP_Query($posts);

          ?>
          <?php
          while ($pc->have_posts()) : $pc->the_post(); ?>
<?= the_title()?>
  <?php
          endwhile; ?>
          <?
          wp_reset_postdata(); ?>

Прошу подсказать как правильно прописать параметры в массив $posts
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
ashfedor
@ashfedor Автор вопроса
Накопал решение
может кому понадобится
$posts = array(
                            'post_type' => 'offer',
                            'tax_query' => array(
                              array(
                                'taxonomy' => 'offer_cat',
                                'field' => 'term_id',
                                'terms' => [$term->term_id]
                              ),
                            )
                            );
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@its2easyy
'cat' работает только на встроенные категории постов, для кастомных таксономий нужно использовать параметры таксономий
Ответ написан
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
На архивных страницах кастомный запрос вообще делать недо, он уже есть глобальный. Посмотрите любую популярную/стандартную тему и увидите примерно следующее

<?php if ( have_posts() ) : ?>

	<?php while ( have_posts() ) : ?>
		<?php the_post(); ?>
		<?php get_template_part( 'template-parts/content/content' ); ?>
	<?php endwhile; ?>

<?php else : ?>

	<?php get_template_part( 'template-parts/content/content-none' ); ?>

<?php endif; ?>
Ответ написан
Ваш ответ на вопрос

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

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