# WordPress 自动发布系统 基于 OpenClaw + WordPress REST API 的自动化文章发布系统,支持 Word 文档解析和文字 + 图片发布。 ## 📁 目录结构 ``` wp-publish/ ├── config.py # 配置文件 ├── README.md # 使用说明 ├── logs/ # 日志目录 │ ├── publish.log # 发布日志 │ ├── debug.log # 调试日志 │ └── error.log # 错误日志 ├── modules/ # 功能模块 │ ├── __init__.py # 模块包初始化 │ ├── wp_logger.py # 日志系统 │ ├── wp_parse_docx.py # Word 文档解析 │ ├── wp_image_handler.py # 图片处理与上传 │ ├── wp_formatter.py # HTML 格式化 │ ├── wp_api.py # WordPress API │ └── wp_category.py # 分类匹配 ├── scripts/ # 执行脚本 │ ├── wp_publish.py # 主发布脚本(Word 文档) │ └── wp_publish_text.py # 文字 + 图片发布脚本 ├── temp/ # 临时文件 └── templates/ # 模板文件 ``` ## 🚀 使用方法 ### 1. Word 文档发布 ```bash # 基本用法 python3 /www/wwwroot/wp-publish/scripts/wp_publish.py /path/to/document.docx # 指定分类 python3 /www/wwwroot/wp-publish/scripts/wp_publish.py /path/to/document.docx -c 9 # 指定指令(支持 #分类 格式) python3 /www/wwwroot/wp-publish/scripts/wp_publish.py /path/to/document.docx -i "#分类 技术" # 指定标签 python3 /www/wwwroot/wp-publish/scripts/wp_publish.py /path/to/document.docx -t "1,2,3" # 预览模式(不实际发布) python3 /www/wwwroot/wp-publish/scripts/wp_publish.py /path/to/document.docx -d # 保存为草稿 python3 /www/wwwroot/wp-publish/scripts/wp_publish.py /path/to/document.docx -s draft ``` ### 2. 文字 + 图片发布 ```bash # 基本用法 python3 /www/wwwroot/wp-publish/scripts/wp_publish_text.py "这是文章正文内容" # 带图片发布 python3 /www/wwwroot/wp-publish/scripts/wp_publish_text.py "文章正文" -i /path/to/image1.jpg /path/to/image2.jpg # 指定标题 python3 /www/wwwroot/wp-publish/scripts/wp_publish_text.py "文章正文" -t "自定义标题" # 指定分类指令 python3 /www/wwwroot/wp-publish/scripts/wp_publish_text.py "文章正文" -c "#分类 ai" # 指定标签 python3 /www/wwwroot/wp-publish/scripts/wp_publish_text.py "文章正文" -T "1,2,3" ``` ## 📋 分类列表 | ID | 名称 | Slug | 说明 | |----|------|------|------| | 12 | Ai 科普 | ai-kepu | AI 科普类文章 | | 11 | Ai 资讯 | ai-zixun | AI 行业新闻 | | 16 | GEO | geo | GEO 优化相关 | | 9 | 人工智能 | ai | 通用 AI 文章 | | 5 | 技术资料 | jishu | 技术教程 | | 10 | 好物分享 | fenxiang | 产品推荐 | | 4 | 文章分享 | wenzhang | 转载文章 | | 8 | 杂记 | zaji | miscellaneous | | 7 | 随笔 | suibi | 个人随笔(默认) | | 1 | 关于我们 | guanyu | 网站信息 | ## ⚙️ 配置说明 编辑 `config.py` 文件: ```python # WordPress 配置 wp_url = 'https://www.nanlou.net' wp_user = 'shaowu' wp_password = 'your_app_password' # 默认分类 ID default_category = 7 # 是否自动匹配分类 auto_match_category = True # 图片优化配置 optimize_images = True image_max_width = 1200 image_quality = 85 # 默认发布状态 post_status = 'publish' ``` ## 📝 日志说明 系统会生成三种日志: | 日志文件 | 说明 | 级别 | |---------|------|------| | `logs/publish.log` | 发布操作日志 | INFO | | `logs/debug.log` | 调试信息日志 | DEBUG | | `logs/error.log` | 错误日志 | ERROR | 日志文件自动轮转,单个文件最大 10MB,保留最近 5 个备份。 ## 🔧 依赖库 ```bash pip3 install python-docx requests Pillow ``` ## 📌 注意事项 1. 确保 WordPress 已安装 Application Passwords 插件(WordPress 5.6+ 已内置) 2. 应用密码需要在 WordPress 后台生成 3. 图片会自动上传到 WordPress 媒体库 4. 第一张图片会自动设置为特色图片 5. 支持 Word 文档 (.docx) 格式 6. 图片格式支持:JPG, PNG, GIF, BMP, WebP ## 🐛 故障排除 ### 常见问题 1. **发布失败 - 401 未授权** - 检查 WordPress 用户名和应用密码是否正确 - 确认用户具有发布文章权限 2. **图片上传失败** - 检查图片格式是否支持 - 确认 WordPress 媒体库权限设置 3. **分类匹配错误** - 使用 `-c` 参数手动指定分类 - 检查分类 slug 是否正确 4. **Word 解析失败** - 确保文件为 .docx 格式(不支持 .doc) - 检查文件是否损坏 ## 📞 技术支持 如有问题,请查看日志文件获取详细错误信息。