2015-04-01 46 views
0

希望得到一些建議。如何點擊「更新」與編程創建帖子不同的帖子?

我正在以編程方式將大量帖子插入到來自JSON提要的wordpress中。 wp_insert_post函數工作出色,並且創建了帖子,以及正確填充的高級自定義字段元數據。

我們有一個奇怪的問題,其中,直到我們手動點擊單個帖子「更新」自定義字段不可用使用JSON API插件。

我試過更新所有通過批量編輯器,以及JSON導入後調用wp_update_post就好像在單個帖子上點擊「更新」的行爲以不同的方式保存帖子。

任何人都可以建議爲什麼會這樣嗎?任何建議或指向正確的方向將不勝感激!


編輯:我們使用來更新我們的內線元的代碼...

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); 
     } 
} 
+0

wp_update_post不處理元數據(其中存儲了ACF字段),您正在查找update_post_meta。沒有批量update_post_meta,不幸的是你必須分別循環每個密鑰。 – 2015-04-01 22:10:00

+0

謝謝你的迴應!我在函數中使用了update_post_meta,該函數遍歷了我們引入的自定義字段,並且在成功導入後,數據全部存在且正確。在我們直接編輯並手動更新帖子之前,它似乎無法通過API訪問。如果數據在第一次導入時存在,是否已成功完成update_post_meta函數?導入運行併成功後,我們是否需要以某種方式再次運行wp_update_post? – greypiglet 2015-04-01 22:20:03

+0

update_post_meta在您點擊「更新」時運行,這就是爲什麼我相信這可能是您的問題。你有修改/自動保存啓用?你使用哪個插件? – 2015-04-01 22:24:13

回答

0

因此,我們解決了我們具有特別的問題。

當以ACF字段以編程方式創建帖子時,帖子未採用與標準帖子meta相同的方式進行標記。 Read here for more info on that!

手動更新帖子會創建必要的「別名」。在此之前,如果您想要獲取信息,則需要引用ACF的初始「fieldXXXXXXXX」後置元鍵。

+0

您可以分享您使用的實際解決方案嗎?它可能也會幫助我們......謝謝。 – Ben 2016-09-01 15:59:44

+0

@Ben我們並沒有最終編寫解決方案,我們只是批量更新了這些帖子。它們可能是通過編程方式'重新保存'來分配必要的ACF密鑰的一種方式。 – greypiglet 2016-09-01 16:35:17

+0

謝謝。我還在尋找... :) – Ben 2016-09-03 18:45:51