How to order posts tag by tag?

I want to order my posts by tags with only one WP_Query()

In my WP_Query I would like to display
2 posts with tags portrait

2 posts with tags paysage

2 posts with tags portrait

2 posts with tags paysage

2 posts with tags portrait

2 posts with tags paysage

Etc…

And I need to order these posts by recents.

What is the query to do that ?

Thanks

PS : Sorry I cannot use code because I’m with my iPhone.

2 Answers
2

Like Eugene mentioned in his answer you need to run a query for each tag. I would create a foreach loop that went through each tag then queried the latest 2 posts from each.

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

Leave a Comment