使用WordPress REST API发布文章的方法详解

来自:素雅营销研究院

头像 方知笔记
2025年04月07日 10:17

WordPress REST API为开发者提供了一种强大的方式来与WordPress网站进行交互,无需直接访问后台管理界面即可完成各种操作。本文将详细介绍如何利用WordPress REST API来发布文章。

准备工作

在使用WordPress REST API发布文章前,需要确保:

  1. 你的WordPress网站版本在4.7或以上
  2. 已启用REST API功能(默认已启用)
  3. 准备好认证凭据(用户名密码或应用程序密码)

基本发布请求

以下是使用WordPress REST API发布文章的基本HTTP请求示例:

POST /wp-json/wp/v2/posts
Authorization: Basic BASE64编码的用户名密码
Content-Type: application/json

{
"title": "我的第一篇API文章",
"content": "这是通过WordPress REST API发布的内容",
"status": "publish"
}

认证方式

WordPress REST API支持多种认证方式:

  1. 基本认证:简单但不安全,适合开发环境
  2. OAuth认证:更安全的生产环境方案
  3. 应用程序密码:WordPress 5.6+引入的特性

文章参数详解

发布文章时可以设置多种参数:

  • title:文章标题(必填)
  • content:文章内容(HTML格式)
  • excerpt:文章摘要
  • status:文章状态(publish/draft等)
  • categories:分类ID数组
  • tags:标签ID数组
  • featured_media:特色图片ID
  • comment_status:评论状态(open/closed)

实际代码示例(Python)

import requests
import base64

url = "https://yourwebsite.com/wp-json/wp/v2/posts"
username = "your_username"
password = "your_application_password"

credentials = f"{username}:{password}"
token = base64.b64encode(credentials.encode()).decode()

headers = {
"Authorization": f"Basic {token}",
"Content-Type": "application/json"
}

data = {
"title": "Python发布的文章",
"content": "这是通过Python脚本发布的内容",
"status": "publish",
"categories": [1, 3],
"tags": [5, 7]
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

错误处理

在实际应用中,应该添加错误处理逻辑:

try:
response = requests.post(url, headers=headers, json=data)
response.raise_for_status()  # 检查HTTP错误
print("文章发布成功!")
print(response.json())
except requests.exceptions.HTTPError as err:
print(f"HTTP错误: {err}")
except Exception as err:
print(f"其他错误: {err}")

高级功能

  1. 定时发布:通过设置date参数
  2. 自定义字段:使用meta参数
  3. 多站点支持:在WordPress多站点环境中使用
  4. 批量操作:一次请求处理多篇文章

安全注意事项

  1. 永远不要在客户端代码中硬编码凭据
  2. 生产环境应使用HTTPS
  3. 考虑实现速率限制
  4. 定期轮换API凭据

通过掌握WordPress REST API发布文章的方法,开发者可以构建各种自动化内容发布系统,实现与其他应用程序的无缝集成。