首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用WP REST API将类别发布到Wordpress?

如何使用WP REST API将类别发布到Wordpress?
EN

Stack Overflow用户
提问于 2017-04-28 18:13:02
回答 1查看 3.1K关注 0票数 5

我使用Basic Auth创建了这个小脚本来创建wordpres帖子,并且它可以工作。问题是当我试图给一个帖子分配多个类别的时候。

它的引用是pretty vague。它说明categories字段必须是一个数组。但是它没有指定它是否应该是一个category对象数组,或者是否必须将这些类别的id传递给该字段。https://developer.wordpress.org/rest-api/reference/posts/#schema-categories

所以我试着让它失败,这样我就可以从异常消息中获得更多信息。异常消息显示类似于categories[0] is not an integer,因此我尝试使用整数列表。然后,它就起作用了。但只分配了一个类别,即列表中的最后一个类别。

那么,如何在帖子中添加更多类别呢?

N1:id为1316类别实际上存在于我的wordpress安装中。

N2:我知道我可以创建一个草稿,然后创建新的请求来创建类别,然后使用更新post端点为帖子分配类别……但从理论上讲,应该可以通过多个类别来创建帖子,因为它在引用xd中

N3:,我不关心安全性。这不是必需的。

代码语言:javascript
复制
import base64
import requests

r = requests.session()

wp_host = 'wphost.dev'
wp_username = 'FIXME'
wp_password = 'FIXME'

# BUILD BASIC AUTH STRING
basic_auth = str(
    base64.b64encode('{user}:{passwd}'.format(
        user=wp_username,
        passwd=wp_password
    ).encode()
), 'utf-8')

# PARAMETERS TO POST REQUEST
p = {
    'url': 'http://{wp_host}/wp-json/wp/v2/posts'.format(wp_host=wp_host),
    'headers': {'Authorization': 'Basic {basic_auth}'.format(basic_auth=basic_auth)},
    'data': {
        'title': 'My title',
        'content': 'My content',
        'categories': [13, 16],
        'status': 'publish',
    },
}

# THE REQUEST ITSELF
r = r.post(url=p['url'], headers=p['headers'], data=p['data'])

# Output
print(r.content)
# ... "categories":[16],"tags":[] ...
EN

回答 1

Stack Overflow用户

发布于 2018-07-31 08:42:05

WP API引用具有误导性。

实际上,应该使用带有类别is的逗号分隔的字符串:

代码语言:javascript
复制
data: {
    ...
    categories: "162,224"
    ...
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43677715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档