के साथ एक पोस्ट प्रकाशित करें, मैं एक वेबसाइट से माइग्रेशन कर रहा हूं जो वर्डप्रेस का उपयोग करता है।एक्सएमएल-आरपीसी वर्डप्रेस एपीआई और पायथन को
मैंने अपनी ज़रूरतों के लिए नए कस्टम प्रकार बनाए हैं (प्लगइन कस्टम पोस्ट प्रकार के साथ), और मैंने प्रत्येक कस्टम प्रकार के लिए श्रेणियां बनाई हैं।
मैं तो अजगर में एक स्क्रिप्ट (this article से रूपांतरित) है, जो नए Wordpress XML-RPC संस्करण 3.4 के बाद से समर्थित एपीआई का उपयोग कर db से पोस्ट हो जाता है और उन्हें नए (परीक्षण) वेबसाइट पर दूर से धक्का, नीचे लिखा था। एक्स।
फिलहाल मैं सही पोस्ट प्रकार के साथ एक नई पोस्ट प्रकाशित कर सकता हूं। लेकिन अगर मैं एक वर्ग निर्दिष्ट करते हैं, हमेशा वर्डप्रेस मुझे इस त्रुटि देता है:
xmlrpclib.Fault: <Fault 401: 'Sorry, one of the given taxonomies is not supported by the post type.'>
मुझे यकीन है कि पोस्ट प्रकार दिए गए वर्गीकरण के द्वारा समर्थित है हूँ। मुझे लगता है कि मैं श्रेणी आईडी निर्दिष्ट करने के लिए गलत वाक्यविन्यास का उपयोग कर रहा हूं। कोड यह रहा:
new_post['categories'] = [ { 'term_id': 3, 'taxonomy': 'news-cat' } ]
"समाचार बिल्ली" कस्टम प्रकार "समाचार" से जुड़े वर्गीकरण का नाम है:
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
और फोन करने वाले पर, श्रेणी निर्दिष्ट करने के लिए। "टर्म-आईडी" श्रेणी की आईडी है, जिसे मैंने phpMyAdmin का उपयोग करके पाया।
मैंने अन्य दृष्टिकोणों का भी प्रयास किया है लेकिन इसका कोई फायदा नहीं हुआ है। श्रेणी के बिना यह अच्छी तरह से काम करता है।
किसी भी मदद :)
प्रलेखन इस विशिष्ट मुद्दे पर भयानक है। साझा करने के लिए धन्यवाद! यह बहुत उपयोगी है! – jperelli
हाय, मैं wp.newpost का उपयोग कर वर्गीकरण अभिभावक को सेट करने के लिए एक तरह से देख रहा था और मुझे यह नहीं मिला (मैंने पहले से ही कोई जवाब नहीं दिया है) इसलिए यदि कोई मदद कर सकता है तो मैं इसकी सराहना करता हूं। धन्यवाद – JordanBelf