# 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="

这是文章内容

", excerpt="文章摘要", status="publish" # 或 "draft" 保存为草稿 ) ``` ### 创建分类和标签 ```python # 创建分类 category = wp.create_category("技术分享", "技术相关的文章分类") # 创建标签 tag = wp.create_tag("Python", "Python 编程相关") # 发布文章时指定分类和标签 wp.publish_post( title="Python 教程", content="

Python 编程教程内容

", 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 网站提供简单、安全的内容发布解决方案。