Как вывести записи из нескольких типов записей в одном цикле и отобразить их отдельно на одном шаблоне?
У меня есть четыре типа записей:
- Товары
- Баннеры
- Портфолио
- Отзывы
Все они должны отображать свои записи на одной главной странице (index.php).
Сейчас использую следующий запрос для получения записей разных типов:
<?php
query_posts(
array(
'post_type' => 'work_projects',
'work_type' => 'website_development',
'posts_per_page' => 100
)
);
if ( have_posts() ) : while ( have_posts() ) : the_post();
the_post_thumbnail($size);
the_title();
the_content();
endwhile; endif;
Но моя проблема в том, что мне нужно разместить несколько циклов query_post
на одной странице. Я искал решения в Google и находил ответы здесь на Stack Overflow, но не могу понять, как использовать их с функциями the_title()
, the_content()
и the_post_thumbnail()
.

Лучшей практикой будет использование четырех отдельных пользовательских запросов и перебор каждого из них по отдельности с помощью wp_query.
Вот пример:
<?php
$custom_query = new WP_Query(
array(
'post_type' => 'work_projects',
'work_type' => 'website_development',
'posts_per_page' => 100
)
);
if ( $custom_query->have_posts() ) : while ( $custom_query->have_posts() ) : $custom_query->the_post();
the_post_thumbnail($size);
the_title();
the_content();
endwhile; endif; wp_reset_query();
?>
Затем вы повторяете этот процесс для каждого типа записей, заменяя 'work_projects' на название следующего типа записей.
Я не уверен, что означает 'work_type' в данном случае, но просто оставил его в запросе, так как он уже был там.
