J'ai lu @ nacin Tu ne connais pas Query hier et j'ai été envoyé à un trou de lapin interrogateur. Avant hier, j'utilisais (à tort) query_posts()
pour tous mes besoins d'interrogation. Maintenant, je suis un peu plus sage sur l'utilisation WP_Query()
, mais j'ai encore des zones grises.
Ce que je pense savoir à coup sûr:
Si je fais des boucles supplémentaires n'importe où sur une page - dans la barre latérale, dans un pied de page, dans n'importe quel type de "messages liés", etc., je veux utiliser WP_Query()
. Je peux l'utiliser à plusieurs reprises sur une seule page sans aucun dommage. (droite?).
Ce que je ne sais pas avec certitude
- Quand est-ce que j'utilise @ nacin
pre_get_posts
vsWP_Query()
? Devrais-je utiliserpre_get_posts
pour tout maintenant? - Lorsque je souhaite modifier la boucle dans une page de modèle (disons que je souhaite modifier une page d'archive de taxonomie), dois-je supprimer la
if have_posts : while have_posts : the_post
partie et écrire la mienneWP_Query()
? Ou dois-je modifier la sortie en utilisantpre_get_posts
dans mon fichier functions.php?
tl; dr
Les règles que je voudrais en tirer sont les suivantes:
- Ne jamais utiliser
query_posts
plus - Lorsque vous exécutez plusieurs requêtes sur une même page, utilisez
WP_Query()
- Lorsque vous modifiez une boucle, faites ceci __________________.
Merci pour toute sagesse
Terry
ps: j'ai vu et lu: quand utiliser WP_Query vs query_posts () vs get_posts ()? Ce qui ajoute une autre dimension - get_posts
. Mais ne traite pas pre_get_posts
du tout.