根据自定义分类显示每个类别的自定义帖子

时间:2014-12-09 作者:sledgeweight

我已经查看了许多答案,我可以对默认的“post”类型这样做:

 $cats = get_categories(); 
 foreach ($cats as $cat) {
    $cat_id = $cat->term_id;
    echo "<h2>".$cat->name."</h2>";
    query_posts("cat=$cat_id&posts_per_page=100");
    if (have_posts()) : while (have_posts()) : the_post(); ?>
       <a href="<?php the_permalink();?>"><?php the_title(); ?></a>
    <?php endwhile; endif; ?>
 <?php } ?>
Im无法显示自定义帖子及其关联分类类别的帖子。CPT及其类别分类在my functions文件中定义。我本质上是想显示集合集中与每个类别相关的所有帖子。因此,代码的逻辑基本上就在那里,我似乎无法重新设置正确的数据位来按我喜欢的方式过滤帖子。

1 个回复
最合适的回答,由SO网友:sledgeweight 整理而成

对于那些想知道的人:

               <?php $cat_args = array(
                    \'taxonomy\' => \'service_sections\', 
                    \'orderby\' => \'slug\', 
                    \'order\' => \'ASC\'
                );
                $cats = get_categories($cat_args); // passing in above parameters
                foreach ($cats as $cat) : // loop through each cat
                     $cpt_query_args = new WP_Query( array(
                    \'post_type\' => \'services\',
                    \'service_sections\' => $cat->name
                    )
                );
                if ($cpt_query_args->have_posts()) : ?>
                        <div id="<?php echo $cat->slug; ?>">
                        <?php while ($cpt_query_args->have_posts()) : $cpt_query_args->the_post(); ?>
                            <div class="<?php echo $cat->slug; ?>" id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                                <h3 class="staff-name"><?php the_title(); ?></h3>
                                <?php the_content(); ?>
                            </div> 
                        <?php endwhile; ?>
                        </div>
                    <?php endif; 
                    wp_reset_query();
                endforeach; ?>
更新以删除query\\u帖子

结束

相关推荐