@ligisayan

Как выводить для созданной таксономии различные типы записей в зависимости от запроса?

Всем привет! Есть сайт на wordpress с кастомной темой.
Есть 3 произвольных типа постов - марки автомобиля (bmw, mazda,ford) и созданная для них таксономия классификации по годам: базовая years и дочерние от нее 2010,2011,2012 и т.д.
Создал шаблон taxonomy-years.php где вывожу перечень авто по годам
<?php $cat = get_term_by('name', single_cat_title('',false), 'years'); $catSlug = $cat->slug; 
                $mypost = array(
                  'post_type' => 'bmw',
                  'posts_per_page' => -1,
                  'tax_query' => array(
                    array(
                      'taxonomy' => 'years',
                      'field' => 'slug',
                      'terms' => $catSlug
                    ),
                  ),
                );
                $loop = new WP_Query( $mypost );
              ?>
              <?php while ( $loop->have_posts() ) : $loop->the_post();?>
             <div>Характеристики авто</div>
<?php endwhile; wp_reset_postdata(); ?>

Т.е. со страницы марки авто перехожу по ссылке на какой-нить год и мне отображается перечень авто с характеристиками, НО, для того, чтобы его получить мне нужно четко указать тип поста ('post_type' => 'bmw'), т.е. с помощью данного шаблона могу вывести только информацию по годам только для одного типа.

А как сделать возможным вывод для каждого, сохранив при этом единую таксономию years с годами для всех?
Т.е. чтобы в 'post_type' можно было добавлять нужную переменную, а не статическую константу.

Прекрасно понимаю, что можно создать для кадого поста свою таксономию, но все же хотелось бы ограничиться одной и одним шаблоном.
  • Вопрос задан
  • 1478 просмотров
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
1. Параметр post_type в WP_Query может принимать массив, а не только одно bmw, там string|array.
2. Одну и ту же таксономию можно зарегистрировать для множества custom post type, там тоже string|array.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы