web-dev-qa-db-ja.com

タグごとに投稿を注文するにはどうすればいいですか?

WP_Query()を1つだけ持つタグで投稿を並べたい

私のWP_Queryでは、タグportraitを持つ2つの投稿を表示したいです。

paysageのタグが付いた2の投稿

portraitのタグが付いた2の投稿

paysageのタグが付いた2の投稿

portraitのタグが付いた2の投稿

paysageのタグが付いた2の投稿

等...

そして、私はこれらの投稿を最近のもので並べる必要があります。

そのためのクエリは何ですか?

ありがとう

シモンズ:私は私のiPhoneを持っているので申し訳ありませんが私はコードを使うことができません。

4
Steffi

Eugeneが彼の答えで述べたように、あなたはそれぞれのタグに対してクエリを実行する必要があります。それぞれのタグを通過した後、それぞれから最新の2つの投稿をクエリするforeachループを作成します。

$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();
    }
2
Chris_O

データベースの観点から見ても(結合なしで)1つのクエリですることは不可能です。

用語ごとに別々のクエリを使用することをお勧めします。せかいを発明したり、コードを複雑にしすぎたりしないでください。

0
Eugene Manuilov