Здравствуйте. В записи Wordpress нужно вывести похожие записи (имеющие такие же теги как и текущая), но вывести их таким образом, чтоб каждая категоря выводилась отдельно. То есть если в результате выборки мы получили 15 записей имеющие такие же теги и все они относятся к 3 разным рубрикам, то сразу в одном блоке вывести записи принадлежащие к:
- рубрике 1
- рубрике 2
- рубрике 3
Я знаю, что все вместе выводить нужно таким вот образом:
// делаем первый запрос
$related_articles = get_posts(array(
'category__in' => $category_ids,
'posts_per_page' => $related_count,
'tag__in' => $tag_ids,
//'orderby' => 'rand',
'post__not_in' => array($post->ID),
));
if (!empty($related_articles)) {
?>
<div class="b-related">
<div class="b-related__header"><span><?php echo apply_filters( 'root_related_title', __('Related articles', 'root') ) ?></span></div>
<div class="b-related__items">
<?php foreach ($related_articles as $post) {
setup_postdata($post); ?>
<?php get_template_part('template-parts/posts/content', 'card-without-micro'); ?>
<?php }
wp_reset_postdata(); ?>
Вопрос:
Возможно ли это реализовать с помощью одного get_posts запроса, а потом из полученого массива выбрать поочередно записи к каждой из 3 категорий. Если можно то как? Или нужно для каждой категории делать отдельный get_posts запрос? Можно ли обойтись 1 get_posts запросом вместо 3?