我认为@Castiblanco有一个正确的答案,也许需要一些调整?他的解决方案当然会奏效,但我会稍微改变一下,比如:
<?php
$tags_array = get_tags();
foreach ( $tags_array as $tags ) :
$args( array(
\'cat\' => $tags->term_id,
\'posts_per_page\' => 1,
\'no_found_rows\' => true,
\'ignore_sticky_posts\' => true,
));
query_posts($args);
if (have_posts()) :
?>
<h2><?php echo esc_html( $tags->name ) ?></h2>
<?php while (have_posts()) : the_post(); ?>
<div class="post">
<?php the_title() ?>
<!-- do whatever you else you want that you can do in a normal loop -->
</div>
<?php endwhile ?>
<?php endforeach ?>
我这样做的原因只是为了简化查询并创建一个新对象,而不是像前面提到的那样使用->query。请确保重置postdata,如果页面上有其他循环,请确保在结束时使用wp\\u reset\\u query()重置查询。