Tôi đang thực hiện di chuyển từ trang web sang trang web khác sử dụng Wordpress.Xuất bản một bài đăng bằng cách sử dụng XML-RPC WordPress API và Python với danh mục
Tôi đã tạo các loại tùy chỉnh mới cho các nhu cầu của mình (với các loại Bài đăng tùy chỉnh plugin) và tôi đã tạo các danh mục cho từng loại tùy chỉnh. Sau đó tôi đã viết một kịch bản bằng Python (điều chỉnh từ this article), nhận các bài đăng từ db và đẩy chúng từ xa trên trang web mới (thử nghiệm), sử dụng API XML-RPC Wordpress mới được hỗ trợ kể từ phiên bản 3.4. x.
Hiện tại tôi có thể xuất bản bài đăng mới với loại bài đăng chính xác. Nhưng nếu tôi chỉ định một danh mục, wordpress luôn trả về cho tôi lỗi này:
xmlrpclib.Fault: <Fault 401: 'Sorry, one of the given taxonomies is not supported by the post type.'>
Tôi chắc chắn rằng loại bài đăng được hỗ trợ bởi phân loại đã cho. Tôi nghĩ rằng tôi đang sử dụng một cú pháp sai để xác định id danh mục. Dưới đây là các mã:
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
Và trên người gọi, để xác định thể loại:
new_post['categories'] = [ { 'term_id': 3, 'taxonomy': 'news-cat' } ]
"tin tức-cat" là tên của phân loại liên quan đến các loại tùy chỉnh "tin tức". "term-id" là id của danh mục mà tôi phát hiện bằng phpMyAdmin.
Tôi cũng đã thử các cách tiếp cận khác nhưng không có kết quả. Không có danh mục, nó hoạt động độc đáo.
Cảm ơn trước sự giúp đỡ nào :)
Tài liệu về vấn đề cụ thể này thật khủng khiếp. Cám ơn vì đã chia sẻ! Điều này cực kỳ hữu ích! – jperelli
Xin chào, tôi đã tìm kiếm cách để đặt cha mẹ phân loại bằng cách sử dụng wp.newpost và tôi không thể tìm thấy nó (tôi đã đăng câu hỏi không có câu trả lời) vì vậy nếu ai đó có thể giúp tôi đánh giá cao nó. Cảm ơn – JordanBelf