Как вывести посты сгруппировав их по двум кастомным таксономиям?
Столкнулся с проблемой: Есть custom post type (courses) и есть две кастомные таксономии (courses_format и courses_group). На странице архива курсов я вывожу ссылку на taxonomy-courses_group.php:
<?php $terms = get_terms('courses_group');
foreach($terms as $term){
$term_link = get_term_link($term->term_id, 'courses_group');
?>
<div class="seminars__item">
<a href="<?php echo $term_link ?>" class="hp-seminar course-archive seminar">
<div>
<picture>
<img src="<?php echo carbon_get_term_meta($term->term_id, 'crb_thumb'); ?>" class="img-responsive sub_tax_crop" alt="Alt">
</picture>
<div class="title"><?php echo $term->name; ?></div>
<span class="ico-book"><i></i><span>Подробнее</span></span>
</div>
</a>
</div>
<?php } ?>
То есть, при переходе на страницу taxonomy-courses_group.php я получаю список курсов, определенной групы (courses_group):

Но мне по мимо этого, нужно эти курсы отсортировать и по таксономии courses_format (там 2 варианта: онлайн курс и очный курс). Не могу разобраться, как мне на странице taxonomy-courses_group.php сортировать курсы ещё и по другой таксономии: courses_format ? У меня получается либо по одной таксономии сортировка либо по другой.. Код taxonomy-courses_group.php:
<?php
$term_ochnye = get_term_by('slug', 'ochnye', 'courses_format');
$term_online = get_term_by('slug', 'onlajn', 'courses_format');
?>
<div class="seminar-tabs">
<div class="seminar-tabs__item">
<a href="#" class="onlineTab tab activetabs onlineTab-active-item" data-toggle-target=".tab-content-1">Онлайн курсы</a>
</div>
<div class="seminar-tabs__item">
<a href="#" class="onlineTab tab" data-toggle-target=".tab-content-2">Очные курсы</a>
</div>
</div>
<div class="onlineCursy tab-content tab-content-1 activetabs">
<div class="onlineCursy__container">
<?php
$terms_group = get_terms('courses_group');
foreach($terms_group as $term_g){
$term_link = get_term_link($term_g->term_id, 'courses_group');
$head = new WP_Query(array(
'post_type' => 'courses',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'courses_format',
'field' => 'id',
'terms' => $term_online,
),
array(
'taxonomy' => 'courses_group',
'field' => 'id',
'terms' => $term_g->term_id,
),
),
'post__not_in' => array ($post->ID),
)
) ?>
<?php if ( $head->have_posts() ) : ?>
<?php $firstPosts = array(); ?>
<?php while ( $head->have_posts() ) : $head->the_post(); ?>
<?php $firstPosts[] = $post->ID; ?>
<div class="onlineCursy__item">
Здесь вывод для онлайн курсов..
</div>
<?php endwhile; ?>
<?php else: ?>
<?php endif; wp_reset_postdata(); ?>
<?php } ?>
</div>
</div>
<div class="ochnieCursy tab-content tab-content-2">
<div class="onlineCursy__container">
<?php
$head = new WP_Query(array(
'post_type' => 'courses',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'courses_format',
'field' => 'id',
'terms' => $term_ochnye,
),
array(
'taxonomy' => 'courses_group',
'field' => 'id',
'terms' =>$term_g->term_id,
),
),
'post__not_in' => array ($post->ID),
)
) ?>
<?php if ( $head->have_posts() ) : ?>
<?php $firstPosts = array(); ?>
<?php while ( $head->have_posts() ) : $head->the_post(); ?>
<?php $firstPosts[] = $post->ID; ?>
Здесь вывод для очных курсов, аналогично как выше для онлайн курсов..
<?php endwhile; ?>
<?php else: ?>
<?php endif; wp_reset_postdata(); ?>
</div>
</div>
На даном этапе срабатывает группирование по таксономии courses_format, а courses_group сортирует некорректно. Если кто то сталкивался с подобным, прошу помощи, буду очень благодарен.