Для вывода типов записей по определенной таксономии в WordPress нужно использовать функцию WP_Query
или get_posts
. Оба варианта имеют преимущества и недостатки, но мы рассмотрим использование WP_Query
, так как он предоставляет более гибкий и мощный функционал.
Первым шагом необходимо создать экземпляр класса WP_Query
со следующими параметрами:
$args = array( 'post_type' => 'YOUR_POST_TYPE', // Замените YOUR_POST_TYPE на тип записей, который вам необходимо вывести 'tax_query' => array( array( 'taxonomy' => 'YOUR_TAXONOMY', // Замените YOUR_TAXONOMY на таксономию, по которой нужно вывести записи 'field' => 'slug', 'terms' => 'YOUR_TERM', // Замените YOUR_TERM на значение термина таксономии ), ), ); $query = new WP_Query( $args );
В данном коде мы используем параметры 'post_type'
и 'tax_query'
. В параметре 'post_type'
мы указываем тип записей, которые нам нужно вывести. В параметре 'tax_query'
мы указываем таксономию и соответствующий термин, по которому нужно вывести записи.
Следующим шагом необходимо выполнить цикл вывода записей, используя методы класса WP_Query
. Мы можем использовать, например, методы have_posts()
и the_post()
, чтобы перебрать и отобразить найденные записи:
if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); // Выводим содержимое записи the_title(); the_content(); } wp_reset_postdata(); } else { echo 'Записи не найдены.'; }
Внутри цикла мы можем использовать различные функции для вывода информации о записи, например, the_title()
и the_content()
.
Не забудьте также вызвать метод wp_reset_postdata()
после цикла, чтобы сбросить данные запроса.
В итоге, полный код будет выглядеть примерно так:
$args = array( 'post_type' => 'YOUR_POST_TYPE', 'tax_query' => array( array( 'taxonomy' => 'YOUR_TAXONOMY', 'field' => 'slug', 'terms' => 'YOUR_TERM', ), ), ); $query = new WP_Query( $args ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); the_title(); the_content(); } wp_reset_postdata(); } else { echo 'Записи не найдены.'; }
Не забудьте заменить 'YOUR_POST_TYPE'
, 'YOUR_TAXONOMY'
и 'YOUR_TERM'
на соответствующие значения вашего сайта.