如何根据标签对帖子进行分组(WordPress)

如何根据标签对帖子进行分组(WordPress),wordpress,post,blogs,listings,Wordpress,Post,Blogs,Listings,我想在一个页面上列出所有文章,但我希望这些文章按标签分组。这在Wordpress中可能吗 基本上是这样的: 自行车: 发布于2011年2月8日 一些文章标题1 标记自行车 发布于2011年1月8日 一些帖子标题2 标记自行车 汽车: 发布于2011年5月8日 一些文章标题5 标记汽车 发布于2011年7月29日 一些文章标题6 标记汽车 船只: 发布于2011年7月30日 一些文章标题4 标记船 这可能吗?它应该是动态的,这样我就可以从WP admin创建新的标记,它们将自动显示。这取决

我想在一个页面上列出所有文章,但我希望这些文章按标签分组。这在Wordpress中可能吗

基本上是这样的:


自行车:

发布于2011年2月8日 一些文章标题1 标记自行车

发布于2011年1月8日 一些帖子标题2 标记自行车


汽车:

发布于2011年5月8日 一些文章标题5 标记汽车

发布于2011年7月29日 一些文章标题6 标记汽车


船只:

发布于2011年7月30日 一些文章标题4 标记船



这可能吗?它应该是动态的,这样我就可以从WP admin创建新的标记,它们将自动显示。

这取决于具体情况。您是在尝试显示所有标签的帖子,还是只是按照您已经决定的特定标签列出所有帖子

如果您知道要显示的标记,下面是如何按标记列出帖子

<?php $bikePosts = new WP_Query('tag=bikes');
while ($bikePosts->have_posts()) : $bikePosts->the_post(); ?>

<h2>Bikes:</h2>
<p>Posted <?php the_time('j/m/Y'); ?> <?php the_title(); ?>

<?php endwhile; 
//reset post data for next tag
wp_reset_postdata();
?>

自行车:
张贴

更多信息:

使用get\u tags()循环遍历标记,并使用带有“tag\u in”参数的get\u posts



不幸的是,没有任何标签是事先决定的。在这种情况下,您可能只想使用标准的WordPress循环并使用
get\u标签()
Hmm,好的。但我需要把所有的帖子放在一个数组里,然后把它们放在那里或哪里?我明白你想做什么了。我不知道WordPress中有什么函数会列出所有标签,然后在这些标签下列出每篇文章。您可能想尝试两种方法:1。使用(例如:
$numtags=$wpdb->get_var(“从$wpdb->term_taxonomy中选择COUNT(*),其中taxonomy='post_tag');
或2.hack直接调用数据库
                <?php foreach(get_tags() as $term){ ?>

                    <?php $posts = get_posts( array( 'posts_per_page' => -1, 'post_type' => 'project', 'tag__in' => $term->term_id ) ); ?>

                    <?php if($posts) : ?>

                        <h3><?php echo $term->name; ?></h3>

                        <?php foreach($posts as $post) : ?>
                                <?php setup_postdata($post); ?>

                                <div class="item col-sm-12">
                                    <a href="<?php the_permalink(); ?>">
                                       <?php the_title(); ?>  <br/> 

                                    </a>
                                    <a class="button" href="<?php the_permalink() ?>">Read More</a>
                                </div>

                         <?php endforeach ?>

                         <?php wp_reset_postdata(); ?>

                    <?php endif; ?>

                <?php } ?>