Ich habe einige benutzerdefinierte Beitragstyp "Video" und ich habe einige benutzerdefinierte ACF-Felder hinzugefügt ("video_path", "autor_name" und "audio_author"). Ich bin Erzeugung Beiträge in dieser Art programmatisch wie folgt aus:ACF Felder Wert nicht verfügbar, bis Post manuell speichern
$video_post_params = array(
'post_title' => wp_strip_all_tags($video_title),
'post_status' => 'publish',
'post_author' => 1,
'post_type' => 'video'
);
$video_id = wp_insert_post($video_post_params);
update_field('video_path', $video_path, $video_id);
update_field('author_name', $video_author, $video_id);
update_field('audio_author', $audio_author, $video_id);
Alle Werte werden eingefügt gut - wenn ich die Post in Back-End öffnen alles ist in Ordnung. Wenn ich jedoch versuche, diese Werte zu verwenden, bekomme ich nichts?!?
ich Werte von Template-Dateien wie folgt zu lesen:
get_field('video_path', $video_id)
Und wenn ich die Post öffnen und einfach ohne speichere alles ändern beginnt in der Regel arbeiten, und ich bin immer ACF Post Felder normalerweise danach . Posts, die manuell vom Back-End erstellt werden, funktionieren immer gut.
Was mache ich falsch? Benötige ich beim Generieren von Posts aus Code einen zusätzlichen Schritt?
Das Problem wird hier berichtet: http://support.advancedcustomfields.com/forums/topic/programmatic-post-insertion-acf-fields-and-the-save_post-hook/
Aber diese Lösung funktioniert offensichtlich nicht für mich - meine update_field()
Funktionen bereits unmittelbar nach wp_insert_post()
.