名称: wp-wpcli-and-ops 描述: “在通过WP-CLI(wp)进行WordPress运维操作时使用:安全搜索替换、数据库导出/导入、插件/主题/用户/内容管理、定时任务、缓存清理、多站点管理,以及使用wp-cli.yml进行脚本编写和自动化。” 兼容性: “目标WordPress 6.9+(PHP 7.2.24+)。执行环境需要安装WP-CLI。”
WP-CLI与运维
使用时机
当任务涉及通过WP-CLI进行WordPress运维工作时使用此技能,包括:
wp search-replace(URL变更、域名迁移、协议切换)- 数据库导出/导入、重置和检查(
wp db *) - 插件/主题安装/激活/更新、语言包
- 定时任务事件列表/运行
- 缓存/重写规则清理
- 多站点操作(
wp site *、--url、--network) - 构建可重复脚本(
wp-cli.yml、shell脚本、CI作业)
所需输入
- WP-CLI将在何处运行(本地开发、预发布、生产环境)以及运行是否安全。
- 如何定位正确的站点根目录:
--path=<wordpress根目录>和(多站点)--url=<站点URL>
- 是否为多站点以及命令是否应在全网范围内运行。
- 任何约束条件(无停机时间、无数据库写入、维护窗口)。
操作流程
0) 防护措施:确认环境和影响范围
WP-CLI命令可能具有破坏性。在运行任何写入操作之前:
- 确认环境(开发/预发布/生产)。
- 确认目标(路径/URL),以免影响错误的站点。
- 在执行高风险操作时进行备份。
阅读:
references/safety.md
1) 检查WP-CLI和站点定位(确定性)
运行检查器:
node skills/wp-wpcli-and-ops/scripts/wpcli_inspect.mjs --path=<路径> [--url=<url>]
如果WP-CLI不可用,请通过项目文档化的工具(Composer、容器或系统包)回退到安装它,或询问预期的执行环境。
2) 选择正确的工作流
A) 安全的URL/域名迁移(search-replace)
遵循安全顺序:
wp db export(备份)wp search-replace --dry-run(审查影响)- 使用适当的标志运行实际替换
- 如果需要,清理缓存/重写规则
阅读:
references/search-replace.md
B) 插件/主题操作
使用 wp plugin * / wp theme *,并首先确认您正在对目标站点(和网络)进行操作。
阅读:
references/packages-and-updates.md
C) 定时任务和队列
检查定时任务状态并运行单个事件进行调试,而不是“盲目运行所有内容”。
阅读:
references/cron-and-cache.md
D) 多站点操作
多站点变更可能影响许多站点。始终决定您是:
- 在单个站点上操作(
--url=),还是 - 全网操作(
--network/ 迭代站点)
阅读:
references/multisite.md
3) 自动化模式(脚本 + wp-cli.yml)
对于可重复的运维操作,建议:
wp-cli.yml用于默认设置(路径/URL、PHP内存限制)- 记录命令并在出错时停止的shell脚本
- 默认运行只读检查的CI作业
阅读:
references/automation.md
验证
- 在可能影响定位或配置的变更后,重新运行
wpcli_inspect。 - 确认预期的副作用:
- 正确的URL已更新
- 插件/主题处于预期状态
- 在需要的地方清理了定时任务/缓存
- 如果有健康检查端点或冒烟测试套件,请在运维变更后运行它。
故障模式 / 调试
- “错误:这似乎不是一个WordPress安装。”
- 错误的
--path、错误的容器或缺少wp-config.php
- 错误的
- 多站点命令影响了错误的站点
- 缺少
--url或URL错误
- 缺少
- 搜索替换导致意外的序列化问题
- 错误的标志或不安全地更改序列化数据
参见:
references/debugging.md
升级处理
- 如果您无法确认环境安全,请勿运行写入操作。
- 如果仓库使用容器化工具(Docker/wp-env)但您无法访问它,请询问预期的命令运行器或CI作业。