Получил такой ответ от Kama, кому интересно:
$tax_name_1 = 'tax_name_1';
$tax_name_2 = 'tax_name_2';
$term_name_1 = 'term_name';
$posts_1 = get_posts( [ параметры_такс_1 ] );
$posts_2 = get_posts( [ параметры_такс_2 ] );
$posts_3 = get_posts( [ параметры_мета ] );
$posts = [];
foreach( $posts_1 as $p ){
$p->tpl_type = $tax_name_1;
$posts[ $p->ID ] = $p;
}
foreach( $posts_2 as $p ){
$p->tpl_type = $tax_name_2;
$posts[ $p->ID ] = $p;
}
foreach( $posts_3 as $p ){
$p->tpl_type = $term_name_1;
$posts[ $p->ID ] = $p;
}
// тут можно отсортировать по ID например
$posts = wp_list_sort( $posts, 'ID', 'DESC' );
foreach( $posts as $post ){
setup_postdata( $post );
if( $post->tpl_type === $tax_name_1 ){
?>
<!-- Вывода постов, функции цикла: the_title() и т.д. -->
<?php
}
elseif( $post->tpl_type === $tax_name_2 ){
?>
<!-- Вывода постов, функции цикла: the_title() и т.д. -->
<?php
}
elseif( $post->tpl_type === $term_name_1 ){
?>
<!-- Вывода постов, функции цикла: the_title() и т.д. -->
<?php
}
else {
echo 'Шаблон для типа не усказан';
}
}
wp_reset_postdata(); // Сбрасываем $post