Beim Ausführen einer Abfrage mit der WP_Query-Methode habe ich ein Objekt erhalten. Ich verstehe, dass ich dann die Schleife machen kann, um Sachen anzuzeigen. Mein Ziel ist es jedoch, nichts anzuzeigen. Stattdessen möchte ich einige Post-Daten abrufen, indem ich so etwas wie "foreach ..." mache. Wie kann ich eine Reihe von Post-Daten abrufen, die ich durchlaufen und abrufen kann?
35
Antworten:
Sie sollten die Funktionsreferenz für WP_Query im WordPress-Codex lesen . Dort gibt es viele Beispiele zu sehen. Wenn Sie die Ergebnismenge nicht mit a durchlaufen möchten
while
, können Sie alle von der Abfrage zurückgegebenen Posts mit demWP_Query
in der Eigenschaft abrufenposts
.Beispielsweise
quelle
'posts_per_page'=>1
in args verwenden.function wp_queryfirstpost($args) { $q=new WP_Query($args); $pp=$q->get_posts(); $firstpost=false;if ($pp) $firstpost=$pp[0]; wp_reset_postdata(); return $firstpost; }
$query->posts
stattdessen verwenden,$query->get_posts()
um eine erneute Ausführung der Analyse und zusätzliche unnötige Datenbankabfragen auszulösenEigentlich müssen Sie sich nicht weigern,
while()
loop zu verwenden . Dasselbe WP_Post-Objekt ist bereits in derpost
Eigenschaft gespeichert :quelle
if
ist überflüssig.if
ist nicht redundant. Genau in diesem Fall müssen Sie jedoch in den meisten Produktionssituationen zwischen if und while Code ausführen.Sie können auch
get_posts( $args )
anstelle von verwendenwp_Query()
, wodurch Sie eine Liste der Beiträge erhaltenquelle