如何按标签对帖子进行排序?

时间:2012-06-15 作者:Steffi

我想按标签排序帖子,只需一个WP\\u Query()

在我的WP\\u查询中,我想显示2篇带有标签的帖子portrait

2个带标签的帖子paysage

2个带标签的帖子portrait

2个带标签的帖子paysage

2个带标签的帖子portrait

2个带标签的帖子paysage

我需要在最近订购这些帖子。

查询是如何做到这一点的?

谢谢

PS:抱歉,我不能使用代码,因为我带着iPhone。

2 个回复
SO网友:Chris_O

就像Eugene在回答中提到的那样,您需要对每个标记运行一个查询。我将创建一个foreach循环,遍历每个标记,然后查询每个标记最近的2篇文章。

$tags = get_tags();
foreach ( $tags as $tag ) {

    echo \'<h3>\' .$tag->name. \'</h3>\';
    $tag_query = new WP_Query( array( 
                              \'tag_id\' => $tag->term_id,
                              \'posts_per_page\' => 2,
                              \'no_found_rows\' => true,
                               ) );
        while ( $tag_query->have_posts() ) : $tag_query->the_post();
        // Do stuff
        endwhile; wp_reset_postdata();
    }

SO网友:Eugene Manuilov

即使从数据库的角度来看(没有联合),也不可能只使用一个查询。

我建议您对每个术语使用单独的查询。不要发明风团,不要使代码过于复杂。

结束

相关推荐

Conditionals if tags exist?

我有以下代码来显示与页面标题同名的标记文章,但我只想在标记存在时显示,否则它只会显示没有内容的“相关文章”。我尝试过使用一些条件句,但没有成功。有没有办法做到这一点?我在这里没有发现任何与此相关的示例或问题。<h1>Related Articles</h1> <?php query_posts( \'tag=\' . get_the_title() . \'\' ); while ( have_posts() ) : the_post(); ?>