Postagens da lista do WordPress por taxonomia

Abaixo está uma função que criei recentemente e pensei que valeria a pena compartilhar. Ele lista as taxonomias de um determinado tipo de posto com uma sub-lista dos postos dentro dessa taxonomia.

function list_posts_by_taxonomy( $post_type, $taxonomy, $get_terms_args = array(), $wp_query_args = array() ){
$tax_terms
= get_terms( $taxonomy, $get_terms_args );
if( $tax_terms ){
foreach( $tax_terms as $tax_term ){
$query_args
= array(
'post_type' => $post_type,
"$taxonomy" => $tax_term->slug,
'post_status' => 'publish',
'posts_per_page' => -1,
'ignore_sticky_posts' => true
);
$query_args
= wp_parse_args( $wp_query_args, $query_args );

$my_query
= new WP_Query( $query_args );
if( $my_query->have_posts() ) { ?>
<h2 id="<?php echo $tax_term->slug; ?>" class="tax_term-heading"><?php echo $tax_term->name; ?></h2>
<ul>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php
}
wp_reset_query
();
}
}
}

Você pode então chamar a função de onde quiser para a saída da lista:

list_posts_by_taxonomy( 'my_post_type', 'my_post_type_taxonomy' );