You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用WordPress REST API创建带标签和分类的文章时遇到错误的求助

WordPress REST API创建带标签和分类的文章时遇到错误的求助

嗨,我来帮你搞定这个问题!首先明确告诉你:完全可以通过一次API请求就创建带标签和分类的文章,根本不用先创建文章再后续更新。你的问题出在请求数据的格式上,我给你详细梳理下:

为什么会报错?

你当前代码里的tags字段格式不对——WordPress REST API的文章创建接口(/wp/v2/posts)中,tags参数要求传入的是标签ID的数组,而不是包含name属性的对象数组。当你传[{"name":"hello"},{"name":"world"}]这种格式时,API根本识别不了,自然就会抛出错误。

两种可行的解决方案

方案一:用tax_input参数直接传标签/分类名称(推荐!支持自动创建新标签)

tax_input是REST API专门用来指定分类法术语的参数,你可以直接传入标签或分类的名称数组,API会自动帮你创建不存在的标签/分类,同时直接关联到新文章上。修改你的请求数据如下:

var data = JSON.stringify({
  "title":"Example Post By Dev",
  "content":"This zzzz is an example post created using the REST API.",
  "status":"publish",
  "tax_input": {
    "post_tag": ["hello", "world"], // 标签名称数组,不存在会自动创建
    "category": ["默认分类", "技术分享"] // 可选:分类名称数组,同样支持自动创建
  }
});

这样改完之后,一次请求就能完成文章创建+标签/分类关联的所有操作,省心又高效。

方案二:先获取标签ID,再传入tags字段

如果你已经知道标签的ID,或者需要先手动创建标签再关联,可以先调用/wp/v2/tags接口创建标签,拿到返回的ID后,再把ID数组传给tags字段:

  1. 先创建单个标签的示例请求:
var tagData = JSON.stringify({"name":"hello"});
var tagConfig = {
  method: 'post',
  url: 'http://00.000.000.00/wp-json/wp/v2/tags',
  headers: {
    'Authorization': 'Basic xxxxxxx=',
    'Content-Type': 'application/json'
  },
  data : tagData
};
axios(tagConfig).then(res => {
  console.log("新创建的标签ID:", res.data.id);
});
  1. 然后在创建文章时传入标签ID数组:
var data = JSON.stringify({
  "title":"Example Post By Dev",
  "content":"This zzzz is an example post created using the REST API.",
  "status":"publish",
  "tags": [123, 456] // 替换成你实际拿到的标签ID
});

额外注意事项

  • 确保你用来请求API的账号(也就是Authorization里的账号)有足够权限:需要具备创建文章、管理标签和分类的权限,比如编辑者或管理员权限。
  • 用tax_input的时候别写错分类法的slug:标签的分类法slug是post_tag,文章分类的是category,写错的话API也会识别失败哦。

备注:内容来源于stack exchange,提问作者sortof

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 11:40:31