programing

XML-RPC WordPress API 및 Python with category를 사용하여 게시물 게시

muds 2023. 11. 2. 22:08
반응형

XML-RPC WordPress API 및 Python with category를 사용하여 게시물 게시

저는 워드프레스를 사용하는 웹사이트에서 다른 웹사이트로 마이그레이션하고 있습니다.

플러그인 Custom Post Types(사용자 지정 게시 유형)를 사용하여 내 요구에 맞는 새로운 사용자 지정 유형을 만들고 각 사용자 지정 유형에 대한 범주를 만들었습니다.

그런 다음 버전 3.4.x 이후 지원되는 새로운 Wordpress XML-RPC API를 사용하여 DB에서 게시물을 가져와 새로운 (테스트) 웹사이트에 원격으로 푸시하는 스크립트를 파이썬(본 기사에서 채택)으로 작성했습니다.

현재 저는 정확한 게시물 유형으로 새로운 게시물을 게시할 수 있습니다.하지만 카테고리를 지정하면 워드프레스를 사용하면 항상 다음 오류가 발생합니다.

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' } ]

"news-cat"은 사용자 정의 유형 "news"와 관련된 분류 체계의 이름입니다."term-id"는 제가 phpMyAdmin을 사용하여 알게 된 카테고리의 ID입니다.

다른 방법들도 시도해 보았지만 소용이 없었습니다.카테고리가 없으면 잘 작동합니다.

어떤 도움이든 미리 감사드립니다 :)

XML-RPC WordPress API Document는 다음과 같이 말합니다.

struct terms: Taxonomy names as keys, array of term IDs as values.
struct terms_names: Taxonomy names as keys, array of term names as values.

즉, terms 및 terms_names는 디렉토리이고, 키 이름은 원하는 분류 체계의 이름이며, 값은 배열 목록입니다.

카테고리를 설정하려면 다음과 같이 설정해야 합니다.

‘terms‘:{‘my-category’:[4]} 

아니면

‘terms_names’:{‘my-category’:["Wordpress"]} 

포스트 구조에서 "my-category"는 분류 체계의 이름입니다.

다음의 일부 정보:解决Python发布wordpress内容返回抱歉,文章类型不支持您的分类法.错误

언급URL : https://stackoverflow.com/questions/12585307/publish-a-post-using-xml-rpc-wordpress-api-and-python-with-category

반응형