WP_Query in WordPress und füge ACF in die Ergebnisse ein
Lesezeit: 3 Minuten
Ich versuche, alle Beiträge aus einem benutzerdefinierten Beitragstyp in WordPress abzurufen und auch die erweiterten benutzerdefinierten Felder (ACF) in die Ergebnisse einzubeziehen, um eine JSON-Datei mit den Daten zu generieren.
Mit einem einfachen WP_Query, ACF-Daten sind nicht enthalten und ich muss die Ergebnisse iterieren und alle ACF manuell einzeln abrufen. Gibt es eine Möglichkeit, sie in das Original aufzunehmen? WP_Query Ergebnisse?
Definieren Sie ein Array, verwenden Sie die While-Schleife, um jeden Beitrag zu durchlaufen, übertragen Sie die gewünschten Beitragsdaten (einschließlich ACF) in das Array und kodieren Sie das Array mit json_encode.
– Stender
18. Juni 2020 um 10:45 Uhr
Stender
Das wäre meine Art, es zu tun.
Schieben Sie alles, was Sie wollen, in das Array und kodieren Sie es.
Andernfalls können Sie die Abfrage so ändern, dass sie das enthält, was Sie möchten, mit a pre_get_posts Aktion. Schreiben Sie eine Funktion, die die Metadaten an das Ergebnis weiterleitet, und voilà – Ihre Arbeit ist erledigt. – Lesen Sie hier darüber: advancedcustomfields.com/resources/query-posts-custom-fields/…unter „Dynamische $_GET-Parameter“
– Stender
18. Juni 2020 um 11:14
OK. Ich dachte, es gäbe aus Leistungsgründen vielleicht eine Möglichkeit, die While-Schleife zu vermeiden. Aber es sieht so aus, als wäre das nicht der Fall. Danke. Ich werde mit Ihrer Lösung
– Tasos
18. Juni 2020 um 13:15 Uhr
@Tasos Gemäß meiner ersten Antwort. Ich hatte das Gleiche gesagt, dass es keine Lösung gibt, außer die Post durchzuschleifen, um ein ACF-Feld zu erhalten. Ich bin mir nicht sicher, wie Ihnen diese Lösung bei dem, was ich bereits gesagt habe, geholfen hat. Viel Glück.
– Immer hilfsbereit
18. Juni 2020 um 20:52 Uhr
Sie können verwenden get_fields() um alle mit dem Beitrag registrierten ACF-Felder auf einmal abzurufen. Schauen Sie sich die Dokumentation an Hier.
Schöner Aufwand. „get_feilds“ bedeutet jedoch, dass mehrere Codezeilen erforderlich sind, um das Feld und seinen Wert abzurufen. Am besten ist es, alles durchzugehen und von dort aus fortzufahren.
– Immer hilfsbereit
18. Juni 2020 um 10:54
Sie erhalten nur die Felder, die hier registriert sind, aber nicht den Wert der Felder, oder?
– Stender
18. Juni 2020 um 11:10 Uhr
@Stender, Sie erhalten gleichzeitig den Schlüssel und den Wert der an den Beitrag angehängten Felder.
– HW Siew
18. Juni 2020 um 13:42 Uhr
Hinzufügen von ACF-Daten zur Abfrage. WP_Query wird nicht helfen.
WP_Query gibt keine Werte aus benutzerdefinierten Feldern zurück. Um diese zu erhalten, müssen Sie die Beiträge durchlaufen und die Werte der Felder abrufen.
Definieren Sie ein Array, verwenden Sie die While-Schleife, um jeden Beitrag zu durchlaufen, übertragen Sie die gewünschten Beitragsdaten (einschließlich ACF) in das Array und kodieren Sie das Array mit json_encode.
– Stender
18. Juni 2020 um 10:45 Uhr