Ich mache eine Migration von einer Website zu einer anderen, die Wordpress verwenden.Veröffentlichen Sie einen Beitrag mit XML-RPC WordPress API und Python mit Kategorie
Ich habe neue benutzerdefinierte Typen für meine Bedürfnisse (mit dem Plugin Benutzerdefinierte Beitragstypen) erstellt, und ich habe Kategorien für jeden benutzerdefinierten Typ erstellt.
Ich schrieb dann ein Skript in Python (angepasst von this article), das die Posts von der db erhält und sie remote auf der neuen (Test-) Website unter Verwendung der neuen Wordpress XML-RPC API ab Version 3.4 unterstützt. x.
Im Moment kann ich einen neuen Beitrag mit dem richtigen Post-Typ veröffentlichen. Aber wenn ich eine Kategorie angeben, Wordpress gibt immer mir diese Fehlermeldung:
xmlrpclib.Fault: <Fault 401: 'Sorry, one of the given taxonomies is not supported by the post type.'>
Ich bin sicher, dass der Post-Typ durch die gegebene Taxonomie unterstützt wird. Ich denke, ich verwende eine falsche Syntax, um die Kategorie-ID anzugeben. Hier ist der Code:
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
Und auf dem Anrufer, die Kategorie angeben:
new_post['categories'] = [ { 'term_id': 3, 'taxonomy': 'news-cat' } ]
"news-cat" ist der Name der Taxonomie auf den benutzerdefinierten Typen "news" in Verbindung gebracht. "term-id" ist die ID der Kategorie, die ich mit phpMyAdmin herausgefunden habe.
Ich habe auch andere Ansätze versucht, aber ohne Erfolg. Ohne die Kategorie funktioniert es gut.
Vielen Dank im Voraus für jede Hilfe :)
Die Dokumentation zu diesem speziellen Thema ist schrecklich. Danke für das Teilen! Das ist super nützlich! – jperelli
Hallo, ich habe mich nach einem Weg um die Taxonomie Eltern mit wp.newpost gesetzt und ich kann es nicht finden (ich habe bereits eine Frage ohne Antwort) so, wenn jemand helfen konnte ich werde es sehr zu schätzen wissen. Vielen Dank – JordanBelf