Verwenden von $ wpdb zum Abrufen von Posts mit Metadaten

Ich habe einen Post-Typ “Shows” mit 500 Posts darin. Ich möchte alle 400 in einer Seite auflisten, die ihren Titel + 5 Metafelder und eine URL zum Erscheinenpostminiaturbild auflisten.

Ich ging ursprünglich den klassischen WordPress-Weg, indem ich eine benutzerdefinierte WP_Query verwendete und sie mit geeigneten Template-Tags wie the_title () und get_post_meta () durchschlug. Aber die Seite lädt sehr langsam. Also habe ich ein Profiling mit xdebug + webgrind gemacht und es stellt sich heraus, dass es teuer ist, diese Template-Tags zu verwenden, wenn man sie mit 500 multipliziert (go figure). Es dauert tatsächlich 3500 ms, nur um diese Abfrage auszuführen, wobei das Thumbnail das teuerste ist.

Also, was ich denke ist, dass, wenn ich alle Meta als Teil meiner databaseabfrage holen kann, dann würde ich nicht alle functionen ausführen müssen, ich würde gerade aus dem databaseergebnis direkt lesen. Aber damit das funktioniert, muss ich eine Rückkehr von $ wpdb bekommen, die die spezifischen Beiträge + die spezifischen Metasätze einschließt. Jetzt bin ich irgendwie ein Anfänger, wenn es um SQL geht.

2 Fragen:

  1. Habe ich recht zu denken, dass ich die performance mit $ wpdb anstatt mit WP_Query optimieren kann?
  2. Wie würde die $ wpdb-Methode aussehen, um Ergebnisse aus der post-Tabelle und der postmeta-Tabelle zusammenzuführen?

Vielen Dank

Solutions Collecting From Web of "Verwenden von $ wpdb zum Abrufen von Posts mit Metadaten"