我正在從網站遷移到使用WordPress的另一個網站。使用XML-RPC WordPress API和Python發佈帖子
我爲我的需求(使用插件自定義帖子類型)創建了新的自定義類型,併爲每個自定義類型創建了類別。
然後,我用Python(從this article)編寫了一個腳本,它從db獲取帖子,並使用從3.4版開始支持的新的Wordpress XML-RPC API在新(測試)網站上遠程推送它們。 X。
目前,我可以發佈一個新的職位與正確的職位類型。但是,如果我指定一個類別,WordPress的總是返回我這個錯誤:
xmlrpclib.Fault: <Fault 401: 'Sorry, one of the given taxonomies is not supported by the post type.'>
我敢肯定,後類型由指定的分類法支持。我想我使用錯誤的語法來指定類別ID。下面的代碼:
import datetime, xmlrpclib, MySQLdb
def post_remotely(post_data):
wp_url = "[my wordpress blog url]"
wp_username = "[myuser]"
wp_password = "[mypasswd]"
wp_blogid = "0"
status = 'publish'
server = xmlrpclib.ServerProxy(wp_url)
data = { 'post_title': post_data['title'], 'post_content': post_data['content'],
'post_date': post_data['data'], 'post_type': post_data['post_type'], 'terms': post_data['categories'],
'post_status': status }
post_id = server.wp.newPost(wp_blogid, wp_username, wp_password, data)
return post_id
而且呼叫者,以指定類別:
new_post['categories'] = [ { 'term_id': 3, 'taxonomy': 'news-cat' } ]
「新聞貓」是關聯到自定義類型「新聞」的分類的名稱。 「term-id」是我使用phpMyAdmin發現的類別的id。
我也試過其他方法,但無濟於事。沒有這個類別,它很好地工作。
預先感謝任何幫助:)
關於這個特定問題的文檔是可怕的。感謝分享!這非常有用! – jperelli
嗨,我一直在尋找一種方法來設置使用wp.newpost的分類學家長,我無法找到它(我已經發布了一個沒有答案的問題),所以如果有人可以幫助我將深深感激它。謝謝 – JordanBelf