そのため、複数のクエリを自動化することを検討してください。
まず、次を使用して、カスタム分類の用語のリストを取得しますget_terms()
。
<?php
$member_group_terms = get_terms( 'member_group' );
?>
次に、それぞれをループし、毎回新しいクエリを実行します。
<?php
foreach ( $member_group_terms as $member_group_term ) {
$member_group_query = new WP_Query( array(
'post_type' => 'member',
'tax_query' => array(
array(
'taxonomy' => 'member_group',
'field' => 'slug',
'terms' => array( $member_group_term->slug ),
'operator' => 'IN'
)
)
) );
?>
<h2><?php echo $member_group_term->name; ?></h2>
<ul>
<?php
if ( $member_group_query->have_posts() ) : while ( $member_group_query->have_posts() ) : $member_group_query->the_post(); ?>
<li><?php echo the_title(); ?></li>
<?php endwhile; endif; ?>
</ul>
<?php
// Reset things, for good measure
$member_group_query = null;
wp_reset_postdata();
}
?>
このアプローチには特に問題はありませんが、スケーリングの能力は限られています(つまり、数百または数千のメンバー、またはmember_groupの用語がある場合、パフォーマンスの問題が発生する可能性があります)。