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

能否通过WordPress Rest API上传.docx格式文档作为文章内容?

WordPress REST API 文章上传指南:请求体格式与DOCX支持方案

一、文章上传的请求体参数格式

通过WordPress REST API创建/更新文章,需发送POST请求到端点/wp-json/wp/v2/posts(创建)或/wp-json/wp/v2/posts/{post_id}(更新),请求体采用JSON格式,核心参数如下:

  • title:文章标题(字符串,必填)
  • content:文章内容(字符串,支持HTML格式,必填)
  • status:文章状态,可选值publish(发布)、draft(草稿)、pending(待审核)等,默认draft
  • categories:分类ID数组,示例:[1,3]
  • tags:标签ID数组,示例:[2,4]

示例请求体(JSON):

{
  "title": "测试文章",
  "content": "<h1>这是标题</h1><p>这是正文内容,支持<strong>加粗</strong>、<em>斜体</em>等HTML格式</p>",
  "status": "publish",
  "categories": [1]
}

二、DOCX格式支持方案

WordPress REST API原生不直接支持上传DOCX文件作为文章内容,但可以通过「DOCX转HTML」的方式实现需求,具体分两种场景:

1. 服务器端处理(推荐)

在后端服务中先解析DOCX文件,提取内容并转换为HTML,再调用REST API上传:

  • 若用PHP开发,可使用PhpWord库读取DOCX并转为HTML
  • 若用Python,可使用python-docx库提取文本和格式,再生成兼容的HTML结构
  • 转换完成后,将HTML字符串填入请求体的content字段即可

2. 前端浏览器处理

如果是前端直接上传DOCX文件,可使用前端库(如mammoth.js)在浏览器内将DOCX解析为HTML,再将内容通过API发送到WordPress:

// 示例:用mammoth.js解析DOCX并上传
const fileInput = document.getElementById('docx-file');
fileInput.addEventListener('change', async (e) => {
  const file = e.target.files[0];
  const arrayBuffer = await file.arrayBuffer();
  const result = await mammoth.convertToHtml({arrayBuffer: arrayBuffer});
  const htmlContent = result.value;
  
  // 调用WordPress REST API
  fetch('/wp-json/wp/v2/posts', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer YOUR_AUTH_TOKEN'
    },
    body: JSON.stringify({
      title: file.name.replace('.docx', ''),
      content: htmlContent,
      status: 'draft'
    })
  });
});

注意事项

  • 转换后的HTML可能需要微调格式,确保和WordPress编辑器兼容
  • 若需保留DOCX中的图片,需额外提取图片文件,上传到WordPress媒体库后替换HTML中的图片路径

内容的提问来源于stack exchange,提问作者Charles Stangor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 02:15:10