144 lines
3.3 KiB
Markdown
144 lines
3.3 KiB
Markdown
# WordPress 远程发布工具
|
||
|
||
这是一个用于远程操作 WordPress 网站的内容发布工具,通过 WordPress REST API 实现文章、分类、标签等内容的自动化管理。
|
||
|
||
## 功能特性
|
||
|
||
- 📝 **文章管理**: 创建、更新、删除文章
|
||
- 📂 **分类管理**: 创建和管理文章分类
|
||
- 🏷️ **标签管理**: 创建和管理文章标签
|
||
- 🖼️ **媒体管理**: 上传和管理媒体文件
|
||
- 🔐 **安全认证**: 使用 WordPress 应用密码进行安全认证
|
||
|
||
## 快速开始
|
||
|
||
### 1. 安装依赖
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
### 2. 配置环境变量
|
||
|
||
复制 `.env` 文件并填写你的 WordPress 站点信息:
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
```
|
||
|
||
编辑 `.env` 文件:
|
||
|
||
```env
|
||
# WordPress 站点配置
|
||
WORDPRESS_URL=https://your-wordpress-site.com
|
||
WORDPRESS_USERNAME=your-username
|
||
WORDPRESS_APP_PASSWORD=your-app-password
|
||
```
|
||
|
||
### 3. 测试连接
|
||
|
||
```bash
|
||
python test_wp_api.py
|
||
```
|
||
|
||
### 4. 发布内容
|
||
|
||
```bash
|
||
python publish_post.py
|
||
```
|
||
|
||
## 文件说明
|
||
|
||
- **`test_wp_api.py`**: API 连接测试脚本
|
||
- **`wp_api_examples.py`**: 完整的 API 操作示例
|
||
- **`publish_post.py`**: 简化的内容发布工具
|
||
- **`.env`**: 环境配置文件
|
||
- **`requirements.txt`**: Python 依赖包
|
||
|
||
## 使用示例
|
||
|
||
### 发布文章
|
||
|
||
```python
|
||
from publish_post import WordPressPublisher
|
||
|
||
wp = WordPressPublisher()
|
||
|
||
# 发布文章
|
||
result = wp.publish_post(
|
||
title="我的新文章",
|
||
content="<p>这是文章内容</p>",
|
||
excerpt="文章摘要",
|
||
status="publish" # 或 "draft" 保存为草稿
|
||
)
|
||
```
|
||
|
||
### 创建分类和标签
|
||
|
||
```python
|
||
# 创建分类
|
||
category = wp.create_category("技术分享", "技术相关的文章分类")
|
||
|
||
# 创建标签
|
||
tag = wp.create_tag("Python", "Python 编程相关")
|
||
|
||
# 发布文章时指定分类和标签
|
||
wp.publish_post(
|
||
title="Python 教程",
|
||
content="<p>Python 编程教程内容</p>",
|
||
categories=[category['id']],
|
||
tags=[tag['id']]
|
||
)
|
||
```
|
||
|
||
## WordPress 应用密码设置
|
||
|
||
1. 登录 WordPress 后台
|
||
2. 进入 **用户 -> 个人资料**
|
||
3. 滚动到 **应用密码** 部分
|
||
4. 输入应用名称(如 "API 工具")
|
||
5. 点击 **添加新应用密码**
|
||
6. 复制生成的密码到 `.env` 文件中
|
||
|
||
## API 权限要求
|
||
|
||
确保你的 WordPress 用户具有以下权限:
|
||
- 发布文章
|
||
- 编辑文章
|
||
- 删除文章
|
||
- 管理分类和标签
|
||
- 上传媒体文件
|
||
|
||
通常需要 **编辑者** 或 **管理员** 角色。
|
||
|
||
## 注意事项
|
||
|
||
1. **HTTPS**: 建议使用 HTTPS 连接以确保安全
|
||
2. **应用密码**: 使用应用密码而非普通登录密码
|
||
3. **权限**: 确保用户具有相应的操作权限
|
||
4. **测试**: 建议先在测试环境中验证功能
|
||
|
||
## 故障排除
|
||
|
||
### 认证失败
|
||
- 检查用户名和应用密码是否正确
|
||
- 确认应用密码格式正确(移除空格)
|
||
- 验证用户是否有足够权限
|
||
|
||
### 连接超时
|
||
- 检查网络连接
|
||
- 确认 WordPress 站点是否正常运行
|
||
- 验证 URL 是否正确
|
||
|
||
### 权限不足
|
||
- 确保用户为编辑者或管理员角色
|
||
- 检查 WordPress REST API 是否启用
|
||
|
||
## 相关资源
|
||
|
||
- [WordPress REST API 官方文档](https://developer.wordpress.org/rest-api/)
|
||
- [WordPress 应用密码设置指南](https://wordpress.org/support/article/application-passwords/)
|
||
|
||
---
|
||
|
||
**项目目标**: 为远程 WordPress 网站提供简单、安全的内容发布解决方案。 |