我使用Wordpress XML-RPC自動發佈到我的博客,並且我從PHP獲得了這兩個函數:wp.newPost和wp.uploadFile。但是,當我在一個php腳本中運行它們時,如下所示:(只包括重要部分)即使attachment_id存在,但我嘗試發佈時,Wordpress未從wp.uploadFile中檢測attachment_id。使用Wordpress XML-RPC wp.uploadFile和wp.newPost從PHP
//wp.newPost content
$content = array(
'post_title' => $title,
'post_content' => $body,
'post_status' => 'publish',
'post_type' => 'products',
'post_thumbnail' = // wp.uploadFile is called here that returns attachement id
);
$this->Curl->post($url,$content);
當我嘗試上面的代碼運行我得到:「Fault代碼404 faultString無效的附件ID。」
我驗證了wp.uploadFile圖像已被上傳成功及其在WordPress圖書館顯示。事實上,如果我再次運行腳本,只需使用與wp.uploadFile返回的完全相同的attachement_id替換'post_thumbnail'值,它就可以工作!
所以,顯然Wordpress沒有檢測到圖像已經上傳,如果我結合如上所示運行這兩個函數。有沒有解決這個問題的方法?我真的很討厭在我自己的數據庫中存儲WordPress的附件ID。
我得到它的工作,這是一個問題是我的正則表達式。還是要謝謝你的幫助。 – Walter
您是否正在使用允許您將圖片附加到帖子的主題?如果是這樣,手動將圖像附加到帖子上,然後檢查meta_key在wp_postmeta表中,然後在$ data的custom_fields中以這種格式使用該密鑰:$ data = array('custom_fields'=> array(array('key' =>'meta_key_name','value'=>'您的圖片網址')); – Walter
Walter - 謝謝,我需要附加圖片以便它們在媒體庫中顯示爲'附加':我需要帖子父列顯然,從我昨晚的最後一次閱讀中,它不適用於當前版本的wp(3.4.2) – jrgd