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