所有分类术语的POST循环

时间:2015-09-03 作者:user1374796

我目前有一个自定义分类设置,名为development-category 目前,如果我想为这些分类法中的每一种建立一个posts循环,我必须按如下方式进行:

<?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 个回复
最合适的回答,由SO网友:leemon 整理而成

您可以使用以下代码获取自定义分类法中的所有术语:

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

相关推荐

Ordering terms whilst in loop

我有一个页面模板,显示所有;“发布”;在两个自定义分类中,帖子显示在一个表中$type = $_GET[\'type\']; $category = $_GET[\'category\']; args = array( \'post-type\' => \'literature\', \'posts_per_page\' => -1, \'tax_query\' => array(