WordPress API Pro

Polar Sponsor
爱发电 赞助
.NET 9.0

生产级WordPress REST API集成,用于管理文章、页面、媒体、WooCommerce产品、Elementor内容、SEO元数据、ACF及JetEngine字段

WordPress API Pro.

功能概述

WordPress API Pro.是一项面向实际任务的技能,主要用于Manaage WordPress 网站通过 REST API. 运行;运行为 OpenClaw 技能或 Claude 代码;

核心要点

  • 运行为 Claude 代码;
  • 此技能直接运行脚本/ *. py;
  • 从技能直接运行。

使用与执行

它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

WordPress API Pro

通过 REST API 管理 WordPress 站点。可作为 OpenClaw 技能运行,也可在 Claude Code 中运行。

在 Claude Code 中运行

该技能直接运行 scripts/*.py 脚本。从技能目录执行(运行 bash INSTALL.sh 后路径为 ~/.claude/skills/wordpress-api-pro/):

  • 认证:导出环境变量 WP_URL / WP_USERNAME / WP_APP_PASSWORD;或多站点场景下使用 config/sites.json 文件。
  • 依赖项:ACF / SEO / JetEngine / 插件检测脚本需安装 requests 库(建议在虚拟环境中执行:python3 -m pip install requests)。核心的 post/page/media/WooCommerce/批量脚本仅使用 Python 标准库(stdlib)。
  • 本地开发站点(例如 http://site.local)完全支持 —— 私有网络/HTTP 限制仅适用于带 --allow-remote-url 参数的媒体文件下载,不适用于 WP API 的基础 URL。
  • 与 Elementor MCP 套件配套使用(claude-elementor-pro):先用 MCP 构建页面结构,再在此处执行媒体上传、SEO 元数据设置、自定义字段填充及 WooCommerce 相关操作。

安全规则

  • 未经用户明确批准,禁止发布或更新线上内容。须确认目标站点、ID、字段及状态。
  • 使用最小权限凭证。推荐为所需角色单独创建 WordPress 用户及对应的应用密码(Application Password)。
  • 禁止将生产环境凭证提交至代码仓库。尽可能使用环境变量管理凭证。
  • 保护配置文件。若创建了 config/sites.json,请确保其仅保留在本地、未被 Git 跟踪,并执行 chmod 600 config/sites.json 设置权限。
  • 批量操作默认为预演模式(dry-run)。仅在审阅完预演输出后,才可添加 --execute 参数执行真实变更。
  • 默认禁止对全部已配置站点执行操作。仅当用户明确批准所有配置站点时,方可添加 --allow-all 参数。
  • 本地文件读取受严格限制。默认情况下,--content-file 和媒体上传功能仅允许从当前工作目录读取文件。如需启用其他安全目录,请设置 WP_ALLOWED_FILE_ROOTS 环境变量。
  • 远程媒体 URL 需显式启用。upload_media.py 要求提供 --allow-remote-url 参数或设置 WP_ALLOW_REMOTE_URLS=1,且仅允许 HTTPS 协议,同时屏蔽私有网络及本地网络主机地址。
  • 原始 SEO 元数据键名默认触发警告。seo_meta.py 在写入非 Rank Math / Yoast 白名单内的元数据键时,会向 stderr 输出 WARNING。如需改为拒绝写入,可设置 WP_REQUIRE_ALLOWLIST=1。ACF/JetEngine 自定义字段键名不受此限制 —— 其设计本就支持任意键名。
  • TTY 环境下交互式发布需二次确认。create_post.py 和 update_post.py 在交互式运行且指定 --status publish 时,会主动提示用户确认。可通过传入 --yes / -y 跳过确认。非交互式/代理(agent)运行模式行为不变。

认证

推荐使用的环境变量:

export WP_URL="https://example.com"
export WP_USERNAME="wp-api-user"
read -rs WP_APP_PASSWORD
export WP_APP_PASSWORD

应用密码(Application Password)设置步骤:

  1. 打开 https://your-site.example/wp-admin/profile.php。
  2. 为专用 API 用户创建一个新的应用密码。
  3. 一次性复制该密码,并将其安全存储于密钥管理器或环境变量中。
  4. 不再需要时及时轮换或撤销该密码。

快速开始

读取/列出文章

python3 scripts/get_post.py --post-id 123
python3 scripts/list_posts.py --per-page 10 --status publish

创建草稿

python3 scripts/create_post.py 
  --title "Draft title" 
  --content "Draft content" 
  --status draft

审批后更新文章

python3 scripts/update_post.py 
  --post-id 123 
  --title "Approved title" 
  --content "Approved content" 
  --status draft

安全地从本地文件读取内容

默认情况下,文件必须位于当前工作目录下:

python3 scripts/update_post.py 
  --post-id 123 
  --content-file ./content/post-123.html 
  --status draft

如需启用另一个安全目录:

export WP_ALLOWED_FILE_ROOTS="/absolute/path/to/approved-content"
python3 scripts/update_post.py --post-id 123 --content-file /absolute/path/to/approved-content/post.html

多站点配置

将模板文件复制到本地:

cp config/sites.example.json config/sites.json
chmod 600 config/sites.json

为每个站点使用独立用户,并确保 app_password 值仅保存于本地 config/sites.json 中。

{
  "sites": {
    "sample-site": {
      "url": "https://example.com",
      "username": "wp-api-user",
      "app_password": "",
      "description": "Sample site; put the real credential only in local config/sites.json"
    }
  },
  "groups": {
    "sample": ["sample-site"]
  }
}

CLI 封装脚本

./wp.sh --list-sites
./wp.sh sample-site get-post --id 123
./wp.sh sample-site update-post --id 123 --status draft

组操作需显式指定标志:

./wp.sh sample --execute-group update-post --id 123 --status draft

若组名为 all,则仅在获得用户明确批准后方可添加 --allow-all:

./wp.sh all --execute-group --allow-all update-post --id 123 --status draft

批量操作

批量模式默认为预演模式(dry-run),除非显式传入 --execute 参数:

python3 scripts/batch_update.py 
  --group sample 
  --post-ids 123,456 
  --status draft

审核后执行:

python3 scripts/batch_update.py 
  --group sample 
  --post-ids 123,456 
  --status draft 
  --execute

对全部站点执行操作需显式启用:

python3 scripts/batch_update.py 
  --group all 
  --allow-all 
  --post-ids 123 
  --status draft

媒体上传

本地文件上传,受限于允许的文件根目录:

python3 scripts/upload_media.py 
  --file ./media/image.jpg 
  --title "Image title"

远程 URL 上传,需显式启用且仅支持 HTTPS:

python3 scripts/upload_media.py 
  --file https://cdn.example.com/image.jpg 
  --allow-remote-url 
  --title "Image title"

插件集成

  • scripts/detect_plugins.py — 检测 ACF、Rank Math、Yoast、JetEngine 插件是否启用。
  • scripts/acf_fields.py — 读写 ACF 字段。
  • scripts/seo_meta.py — 读写 Rank Math 和 Yoast SEO 元数据。
  • scripts/jetengine_fields.py — 读写 JetEngine 自定义字段。
  • scripts/site_audit.py — 无需认证的一级网站审计(PageSpeed / SSL / 安全响应头 / CMS+PHP / SEO 基础项)。仅使用公开探测服务;建议在售前冷启动阶段运行。
  • scripts/describe_cpt.py — 发现自定义文章类型(CPT)的 rest_base、分类法(taxonomies)和字段键名(只读)。
  • scripts/seed_content.py — 基于 JSON 数据集批量创建 CPT 条目,支持 ACF/Jet 字段、分类法及特色图像。默认为预演模式;需传入 --execute 才执行写入。
  • scripts/elementor_content.py — 读取/更新 Elementor 的 _elementor_data 字段。
  • scripts/woo_products.py — 管理 WooCommerce 商品。

填充动态内容(CPT)

针对使用 JetEngine/ACF 渲染列表的动态站点,为其填充实际条目:

  1. describe_cpt.py --post-type projects — 获取该 CPT 的 rest_base、分类法及字段键名。
  2. 编写 JSON 数据集(数组格式,每个元素为 {post_type, title, content, status, terms, featured_image, acf, jet} 对象)。
  3. seed_content.py --dataset data.json — 查看预演计划(无任何写入,仅依赖 stdlib)。
  4. seed_content.py --dataset data.json --execute — 创建条目(默认创建草稿)。

说明:CPT、分类法及 ACF 字段组必须已在后台预先创建。featured_image 可接受媒体 ID、URL 或本地路径(URL 下载需启用 --allow-remote-url)。--execute 需要 requests 依赖(由 ACF/Jet 写入器调用)。重复运行将产生重复条目(暂不支持 upsert)。

上线写入前的校验

执行任何线上写入操作前,请务必完成以下检查:

  1. 确认站点 URL 正确无误。
  2. 确认文章/页面/商品 ID 准确。
  3. 确认字段值与状态符合预期。
  4. 除非用户明确批准发布(publish),否则优先使用 draft 状态。
  5. 对批量操作始终先执行预演(dry-run)。
  6. 对关键内容保留备份或导出副本。

相关专题

更多
WordPress开发教程
WordPress开发教程

本专题提供WordPress开发技术资料,包括主题开发、插件开发、自定义功能开发、API调用及性能优化等内容。

2026.06.16

358

25

WordPress建站教程大全
WordPress建站教程大全

本专题汇总WordPress教程相关内容,包括WordPress安装教程、建站教程、使用技巧、网站管理经验和实战案例,帮助用户快速掌握WordPress建站与运营方法。

2026.06.16

240

20

WordPress插件教程
WordPress插件教程

本专题整理热门WordPress插件资源,涵盖SEO优化、缓存加速、安全防护、表单管理、电商扩展等插件推荐与使用教程。

2026.06.16

138

17

Word调整行距相关教程合集
Word调整行距相关教程合集

本专题整合了Word行距设置相关教程,阅读专题下面的文章了解更多详细内容。

2026.04.02

261

18

Word特殊符号插入
Word特殊符号插入

本专题整合了Word特殊符号插入教程、特殊符号制作技巧、特殊符号快捷键大全等等内容,阅读专题下面的文章了解更多详细操作教程。

2026.03.24

257

29

word转换成ppt教程大全
word转换成ppt教程大全

本专题整合了word转换成ppt教程,阅读专题下面的文章了解更多详细操作。

2025.12.25

511

16

Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2025.12.24

536

13

pdf怎么转换成word
pdf怎么转换成word

PDF转Word的2种好用方法:1、在线工具(推荐Smallpdf、iLovePDF):打开网站(如 smallpdf.com),上传PDF文件,选择“转Word”后下载,适合简单文档,无需安装软件。2、Microsoft Word直接转换:用Word(2013及以上版本)直接打开PDF文件,提示“转换为可编辑文档”后保存为.docx格式,兼容性较好。

2025.04.27

2562

10

word让文字倒过来的方法
word让文字倒过来的方法

Word倒转文字方法:1、插入文本框:点击【插入】→【文本框】,输入文字。2、旋转文本框:选中文本框,拖动上方旋转箭头180°翻转。3、艺术字翻转(可选):用【插入】→【艺术字】,右键选择【旋转】→【垂直翻转】。

2025.04.25

3258

11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
如何在 Windows 11 上安装 XAMPP
如何在 Windows 11 上安装 XAMPP

共1课时 | 216人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 11.8万人学习