現時点ではdevelopment-category
というカスタム分類法を設定しています。これらの分類法のそれぞれにポストループを設定する場合は、次のようにします。
<?php $hotels_loop = new WP_Query( array( 'development-category' => 'hotels', 'post_type' => 'developments' ) ); ?>
<ul class="sector-menu-sub-menu">
<?php while ( $hotels_loop->have_posts() ) : $hotels_loop->the_post(); ?>
<?php the_title(); ?>//etc etc
<?php endwhile; ?>
</ul>
<?php wp_reset_query(); ?>
<?php $leisure_loop = new WP_Query( array( 'development-category' => 'leisure', 'post_type' => 'developments' ) ); ?>
<ul class="sector-menu-sub-menu">
<?php while ( $leisure_loop->have_posts() ) : $leisure_loop->the_post(); ?>
<?php the_title(); ?>//etc etc
<?php endwhile; ?>
</ul>
<?php wp_reset_query(); ?>
<?php $commercial_loop = new WP_Query( array( 'development-category' => 'commercial', 'post_type' => 'developments' ) ); ?>
<ul class="sector-menu-sub-menu">
<?php while ( $commercial_loop->have_posts() ) : $commercial_loop->the_post(); ?>
<?php the_title(); ?>//etc etc
<?php endwhile; ?>
</ul>
<?php wp_reset_query(); ?>
//etc etc
これはうまくいきますが、私はそれぞれの分類学期のためにループを設定しなければなりません、この例ではhotels
分類学期、leisure
分類学期およびcommercial
分類学期のためのループを得ました、しかし私はしたくありませんこれは、私が追加する新しい分類法の用語ごとにあり、サイトはコンテンツ管理されているため、クライアントによって管理されるため、そのようにすることはできません。 development-category
タクソノミーのすべてのタクソノミー用語に対してループを設定する方法もあるのではないかと思っています。新しい用語が追加されると、それが意味を成すのであれば、以下のコードに従って新しいループを作成します。任意の提案は大歓迎です!
次のコードを使用して、カスタム分類法のすべての用語を取得できます。
$terms = get_terms( 'development-category' );
if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
foreach ( $terms as $term ) {
$loop = new WP_Query( array( 'development-category' => $term->slug, 'post_type' => 'developments' ) ); ?>
....
}
}