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