Ich habe gestern bei @nacin's " Du kennst Query" gelesen und wurde ein bisschen in ein Kaninchenloch geschickt, in dem nachgefragt wurde. Vor gestern habe ich (zu Unrecht) query_posts()
alle meine Abfrageanforderungen erfüllt. Jetzt bin ich ein bisschen weiser im Umgang mit WP_Query()
, habe aber noch einige Grauzonen.
Was ich mit Sicherheit zu wissen glaube:
Wenn ich irgendwo auf einer Seite zusätzliche Schleifen mache - in der Seitenleiste, in einer Fußzeile, in "verwandten Beiträgen" usw. - möchte ich diese verwenden WP_Query()
. Ich kann das wiederholt auf einer einzelnen Seite ohne Schaden verwenden. (richtig?).
Was ich nicht sicher weiß
- Wann verwende ich @ nacin des
pre_get_posts
vs.WP_Query()
? Soll ichpre_get_posts
jetzt für alles verwenden? - Wenn ich die Schleife in einer Vorlagenseite ändern möchte - sagen wir, ich möchte eine Taxonomie-Archivseite ändern - entferne ich den
if have_posts : while have_posts : the_post
Teil und schreibe meinen eigenenWP_Query()
? Oder ändere ich die Ausgabepre_get_posts
in meiner functions.php Datei?
tl; dr
Die Regeln, die ich hieraus ziehen möchte, sind:
- Nie
query_posts
mehr benutzen - Wenn Sie mehrere Abfragen auf einer Seite ausführen, verwenden Sie
WP_Query()
- Wenn Sie eine Schleife ändern, gehen Sie wie folgt vor: __________________.
Danke für jede Weisheit
Terry
PS: Ich habe gesehen und gelesen: Wann sollten Sie WP_Query vs query_posts () vs get_posts () verwenden? Was eine weitere Dimension hinzufügt - get_posts
. Beschäftigt sich aber überhaupt nicht pre_get_posts
.