Inwiefern unterscheidet sich das Klicken auf „Aktualisieren“ in einem Beitrag vom programmatischen Erstellen von Beiträgen?

Lesezeit: 3 Minuten

Benutzer-Avatar
graues Ferkel

in der Hoffnung auf Rat.

Ich füge programmgesteuert eine große Anzahl von Posts aus einem JSON-Feed in WordPress ein. Die Funktion wp_insert_post funktioniert hervorragend und die Beiträge werden erstellt, zusammen mit korrekt ausgefüllten Metadaten für erweiterte benutzerdefinierte Felder.

Wir haben ein seltsames Problem bis wir bei einem einzelnen Beitrag manuell auf “Aktualisieren” klicken Die benutzerdefinierten Felder sind nicht mit einem JSON-API-Plugin verfügbar.

Ich habe versucht, alle über den Masseneditor zu aktualisieren und anzurufen wp_update_post nach dem JSON-Import. Es ist, als würde das Klicken auf „Aktualisieren“ bei einem einzelnen Beitrag den Beitrag auf andere Weise speichern.

Kann jemand raten, warum dies der Fall wäre? Jeder Ratschlag oder Hinweis in die richtige Richtung wäre sehr willkommen!


BEARBEITEN: Der Code, den wir verwenden, um unser Post-Meta zu aktualisieren …

function __update_post_meta( $post_id, $field_name, $value="" ) {
        if ( empty( $value ) OR ! $value )
        {
                delete_post_meta( $post_id, $field_name );
        }
        elseif ( ! get_post_meta( $post_id, $field_name ) )
        {
                add_post_meta( $post_id, $field_name, $value );
        }
        else
        {
                update_post_meta( $post_id, $field_name, $value );
        }
}

  • wp_update_post verarbeitet keine Metadaten (wo ACF-Felder gespeichert sind), Sie suchen nach update_post_meta. Es gibt kein Massen-update_post_meta, leider müssen Sie jeden Schlüssel einzeln durchlaufen.

    – Jesse Kernaghan

    1. April 2015 um 22:10 Uhr


  • Danke für Ihre Antwort! Ich verwende update_post_meta in der Funktion, die die benutzerdefinierten Felder durchläuft, die wir einbringen, und nach einem erfolgreichen Import sind alle Daten vorhanden und korrekt. Es scheint einfach nicht über die API verfügbar zu sein, bis wir den Beitrag buchstäblich manuell bearbeiten und aktualisieren. Wenn die Daten beim ersten Import vorhanden sind, wurde die update_post_meta-Funktion nicht erfolgreich abgeschlossen? Nachdem der Import ausgeführt wurde und erfolgreich war, müssten wir wp_update_post irgendwie erneut ausführen?

    – Grauschweinchen

    1. April 2015 um 22:20 Uhr

  • update_post_meta wird ausgeführt, wenn Sie auf “Aktualisieren” klicken, weshalb ich glaubte, dass dies Ihr Problem sein könnte. Hast du Überarbeitungen/automatisches Speichern aktiviert? Welches Plugin verwendest du?

    – Jesse Kernaghan

    1. April 2015 um 22:24 Uhr

  • Das Plugin, das wir für die API verwenden, ist wp-api.orgmit dieser Ausschnitt um die ACF-Felder hinzuzufügen. Ich werde die Frage bearbeiten, um den Code anzuzeigen, den wir verwenden, um das Post-Meta zu aktualisieren …

    – Grauschweinchen

    1. April 2015 um 22:33 Uhr

  • @JesseKernaghan – Sie haben Überarbeitungen und automatische Speicherungen erwähnt – wissen Sie, ob dies programmgesteuert eingefügte Posts stört? Ich habe mich nur gefragt, warum Sie es erwähnt haben!

    – Grauschweinchen

    1. April 2015 um 23:22 Uhr

Also haben wir das spezielle Problem gelöst, das wir hatten.

Wenn ein Post programmgesteuert mit ACF-Feldern erstellt wird, werden die Posts nicht auf die gleiche Weise wie Standard-Post-Meta gekennzeichnet. Lesen Sie hier, um mehr darüber zu erfahren!

Durch das manuelle Aktualisieren eines Beitrags werden die erforderlichen “Aliase” erstellt. Bis zu diesem Punkt müssen Sie, wenn Sie die Informationen herausbekommen möchten, auf den anfänglichen „fieldXXXXXXXX“-Post-Metaschlüssel von ACF verweisen.

  • Können Sie die tatsächliche Lösung teilen, die Sie verwendet haben? es könnte uns auch helfen … danke.

    – Ben

    1. September 2016 um 15:59 Uhr

  • @Ben wir haben am Ende keine Lösung programmiert, wir haben die Posts nur massenweise aktualisiert. Sie können eine Möglichkeit zum programmgesteuerten “Neuspeichern” sein, wodurch die erforderlichen ACF-Schlüssel zugewiesen werden.

    – Grauschweinchen

    1. September 2016 um 16:35 Uhr

  • Vielen Dank. Ich gucke immer noch… 🙂

    – Ben

    3. September 2016 um 18:45 Uhr

  • Jesus, ich muss Tausende von Beiträgen aktualisieren. Jemand postet eine Lösung!

    – Michael Rogers

    13. Oktober 2020 um 20:10 Uhr

  • @MichaelRogers auch hier. Von acf-json auf wordplate/Acf-extended umgestellt. Die Daten sind immer noch da, werden aber erst angezeigt, wenn ich auf die Schaltfläche “Aktualisieren” klicke. Hilfe!

    – Mäuse

    4. Februar 2021 um 14:04 Uhr

1367860cookie-checkInwiefern unterscheidet sich das Klicken auf „Aktualisieren“ in einem Beitrag vom programmatischen Erstellen von Beiträgen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy