web-dev-qa-db-fra.com

Comment commander les articles tag par tag?

Je veux commander mes articles par balises avec un seul WP_Query ()

Dans mon WP_Query, j'aimerais afficher 2 posts avec les tags portrait

2 posts avec les tags paysage

2 posts avec les tags portrait

2 posts avec les tags paysage

2 posts avec les tags portrait

2 posts avec les tags paysage

Etc...

Et j'ai besoin de commander ces articles par récents.

Quelle est la requête pour faire ça?

Merci

PS: Désolé, je ne peux pas utiliser de code car je suis avec mon iPhone.

4
Steffi

Comme Eugene l'a mentionné dans sa réponse, vous devez exécuter une requête pour chaque balise. Je voulais créer une boucle foreach qui parcourait chaque balise, puis interrogeait les 2 derniers messages de chacun.

$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

Il est impossible de le faire avec une requête, même du point de vue de la base de données (sans unions).

Je vous recommanderais d'utiliser des requêtes distinctes pour chaque terme. N'inventez pas votre stratégie, ne compliquez pas votre code.

0
Eugene Manuilov