用 WorkBuddy 自动维护 WordPress(无需插件、无需后端)

每次想批量改几篇文章标题、定时发内容、或者把一堆数据整理成文章,都要登录后台、点来点去?如果你手边有一个能直接”动手”的 AI 助手,维护 WordPress 完全可以变成一句话的事。

WorkBuddy 自动维护 WordPress

这篇文章分享一个我最近实测可用的方案:用 WorkBuddy(一个能读文件、跑命令、调 API 的 AI 助手)通过 WordPress 自带的 REST API,直接对站点做增删改查。不需要装任何插件,也不需要你写后端代码。

一、为什么需要”自动维护”

WordPress 后台很友好,但重复劳动很累人:

  • 批量修改一批文章的分类、标签或状态;
  • 把 CSV / 数据库里的数据一键转成文章;
  • 定时发布、按规则清理草稿或垃圾评论;
  • 定期拉取站点数据做报表。

这些事用人肉点后台,既慢又容易出错。而 WordPress 从 4.7 起就内置了功能完整的 REST API,配合一个能执行代码的助手,就能把这些变成自动化的活儿。

二、认证:HTTP 站点的一个坑

官方推荐的方式是应用密码(Application Password)——在后台”用户 → 个人资料”里生成一个带空格的密码,REST 请求用 HTTP Basic Auth 带上即可。

但这里有个坑:WordPress 默认只在 HTTPS 站点上启用应用密码功能。如果你的站点还是 HTTP,Basic Auth 会一直返回 401,怎么试都不行。

解决办法是改用 WordPress 后台自己调用 API 的方式——登录 Cookie + REST Nonce

  1. 请求 /wp-login.php 拿到测试 Cookie;
  2. POST 登录表单,拿到会话 Cookie;
  3. 打开 /wp-admin/post-new.php,从页面里的 wpApiSettings.nonce 提取令牌;
  4. 之后每个 REST 请求带上 Cookie 和 X-WP-Nonce 头。

踩坑提示:nginx 若没配置 /wp-json/ 重写,REST 路由要换成 ?rest_route=/wp/v2/... 的形式;set-cookie 里的 Cookie 值是 URL 编码的,回传前要先解码;附加查询参数用 & 连接,别写第二个 ?

三、几行代码就能发文章

把上面的认证流程封装好后,发布一篇文章只要几行(以 Node.js 为例):

const client = new WordPressClient(
  'http://你的站点',
  '用户名',
  '登录密码'
);
await client.login();

// 发布新文章
const post = await client.createPost(
  '文章标题',
  '<p>正文内容,支持 HTML</p>',
  { status: 'publish', categories: [1], tags: [2, 3] }
);
console.log('发布成功,文章 ID:', post.id);

同样地,listPosts 列文章、uploadMedia 传图片、put/delete 改和删,都是一行调用的事。

四、WorkBuddy 能替你做的

WorkBuddy 不只是帮你写这段代码,它能直接跑起来:你把站点地址、账号告诉它,说一句”写一篇 XXX 并发表”,它就会

  • 登录并拿到认证;
  • 现场写好文章正文;
  • 通过 REST API 直接发布;
  • 把返回的文章链接给你。

整个过程你不用碰后台、不用管认证细节。你只负责说”要什么”,它负责”怎么做”。

五、安全提醒

  • 尽快给站点配 HTTPS:用 Let’s Encrypt 免费证书即可,配好后就能用更标准的应用密码方式,不必把登录密码交给脚本。
  • 账号密码别硬编码在多处:用环境变量或配置文件管理,避免泄露。
  • 定期改密码:一旦密码用于自动化,建议周期性轮换。

小结

WordPress 的 REST API 本身就是一套完整的站点遥控器,缺的只是一个”会操作的人”。把这套能力交给 WorkBuddy 这样的 AI 助手,日常的增删改查、批量维护就都能用自然语言驱动——这才是真正省心的”自动维护”。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注