Wie kann ich WP_Query Post-Image und Kategorien zurückgeben?

Ich habe ein Sidebar-Widget, das verwandte Beiträge basierend auf einem benutzerdefinierten Meta-Feld anzeigt. Die Abfrage funktioniert, aber es ist sehr verschwenderisch. Alles, was ich brauche, ist der Titel, das Bild und die Kategorien des Posts. Derzeit gibt die folgende Abfrage den gesamten Inhalt für den Beitrag zusammen mit einer großen Menge an Daten zurück, die ich nicht benötige. Ich möchte meinen Server nicht töten, indem ich riesige Datenmengen aus der database abrufe, die ich nicht brauche

$myquery = new WP_Query( "post_type=post&meta_key=nb_gameids_key&meta_value=14&order=ASC" ); 

Um die Daten am besten zu erklären, möchte ich eine SQL-Abfrage verwenden, die mir die Daten geben würde, die ich möchte. Ich weiß, dass die database nicht so strukturiert ist, nur für ein Beispiel.

 SELECT title,image,category FROM posts WHERE nb_gameids_key = 14 ORDER BY datecreated LIMIT 6 

Solutions Collecting From Web of "Wie kann ich WP_Query Post-Image und Kategorien zurückgeben?"

Sie müssen sich nicht viel um Ihre Anfrage kümmern, da Sie nicht viel dagegen tun können. Sie können leider nicht nur Kategorien kategorisieren, Titel und Bilder nativ mit WP_Query . Post-Kategorien müssen separat innerhalb der Schleife aufgerufen werden, genau wie vorgestellte Bilder.

Wenn Sie tiefer in den core eintauchen, werden Sie sehen, dass alle Postdaten und Post-Terme zwischengespeichert werden. Wenn Sie also denken, dass Sie zusätzliche db-Aufrufe machen, sind Sie es nicht. Der Cache wird zuerst auf die erforderlichen Daten überprüft, wenn dies der Fall ist, werden die Daten aus dem Cache abgerufen, andernfalls wird die database abgefragt und die Daten werden für spätere Abfragen zwischengespeichert.

Sie können Ihren Argumenten 'no_found_rows' => true, hinzufügen 'no_found_rows' => true, wenn Sie Ihre Abfrage nicht paginieren. Dies macht die Abfrage schneller, da sie die Paginierung ignoriert. Alternativ können Sie get_posts dem dies bereits get_posts ist

Außerdem können Sie Transienten verwenden , um das Ergebnis einer Abfrage zu speichern und die Transienten nur dann zu löschen, wenn ein neuer Beitrag in einer bestimmten Kategorie oder einem benutzerdefinierten Feld hinzugefügt wird