web-dev-qa-db-ja.com

すべての分類用語のポストループ

現時点では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タクソノミーのすべてのタクソノミー用語に対してループを設定する方法もあるのではないかと思っています。新しい用語が追加されると、それが意味を成すのであれば、以下のコードに従って新しいループを作成します。任意の提案は大歓迎です!

1
user1374796

次のコードを使用して、カスタム分類法のすべての用語を取得できます。

$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' ) ); ?>
        ....    
    }
}
0
leemon