2016-03-23 10 views
1

Bazı özel yayın türü "videom" var ve ona bazı özel ACF alanları ekledim ("video_path", "author_name" ve "audio_author"). Böyle programlı o tip mesajları üreten ediyorum:ACF alanları değeri, manüel olarak kaydedilene kadar kullanılamaz

$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); 

Tüm değerler de eklenir - Ben herşey yolunda arka planında yer yazıyı açtığınızda. Ancak, bu değerleri kullanmaya çalıştığımda hiçbir şey alamıyorum?

get_field('video_path', $video_id) 

Ve yazıyı açıp sadece herhangi olmadan kaydetmek eğer herşey normal çalışmaya başlar değiştirmek ve bundan sonra normal sonrası ACF alanları alıyorum:

böyle şablon dosyalarından değerleri okuyorum . El ile oluşturulan mesajlar, arkadan her zaman iyi çalışıyor.

Neyi yanlış yapıyorum? Koddan mesaj oluştururken fazladan bir adım atmam gerekiyor mu?

konu burada bildirilmektedir: http://support.advancedcustomfields.com/forums/topic/programmatic-post-insertion-acf-fields-and-the-save_post-hook/

Ama bu çözüm Açıkçası benim için çalışmıyor - Benim update_field() fonksiyonları zaten wp_insert_post() hemen sonra bulunmaktadır.

cevap

2

Bulunamadı!

ACF alanı eklerken alan değeri alan anahtarı kullanılmalıdır. Anahtar adı kullanılırsa, benim yaptığım gibi, her şey ilk bakışta iyi bir şekilde eklenir, ancak posta elle kaydedilene kadar değer kullanılamaz. Yani gibi:

update_field('field_56e683ab6265f', $video_path, $video_id); 
update_field('field_56e68415b5c4b', $video_author, $video_id); 
update_field('field_56e6842d58740', $audio_author, $video_id); 

Ne dağınıklık ....

İlgili konular