管理 WordPress 不一定非得点后台。当你要批量改几百篇文章状态、一次性禁用所有插件排查冲突、或者在几十台服务器上同步操作时,命令行工具 WP-CLI 比网页后台快得多,也能写进脚本做自动化。本文从安装到日常批量运维,给出一套能直接用的命令清单。
WP-CLI 是什么
WP-CLI 是 WordPress 的官方命令行工具,用 PHP 写成,直接在服务器终端里管理站点:更新核心、插件、主题,管理文章、用户、选项,做数据库搜索替换,触发定时任务。它的价值在「批量」和「可脚本化」——后台要点的几十次操作,一行循环就能搞定,还能放进定时任务或 CI 。
安装与基本约定
下载 wp-cli.phar 并赋予可执行权限,放到 PATH 里即可。运行时要在站点根目录(含 wp-config.php 的目录)执行,它会自动识别当前站点。常用全局参数:--path=/var/www/site 指定站点位置,--url= 指定目标站点,--user= 以某个用户身份执行。
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp
wp --info
日常批量运维清单
| 任务 | 命令 |
|---|---|
| 列出插件并批量停用 | wp plugin list --status=active / wp plugin deactivate --all |
| 更新核心与插件 | wp core update / wp plugin update --all |
| 批量改文章状态 | wp post list --post_type=post --format=ids | xargs wp post update |
| 数据库搜索替换 | wp search-replace 'old.com' 'new.com' --skip-columns=guid |
| 触发定时任务 | wp cron event run --due-now |
| 导出/导入内容 | wp export / wp import file.xml |
| 查看/修改选项 | wp option get home / wp option update home 'https://x.com' |
这些操作和 钩子机制、自定义文章类型、重写规则 深度相关——比如批量改文章、刷新重写规则都依赖 WP-CLI 直接读写数据库与选项。和 对象缓存、HTML API、Interactivity API 配合时,命令行也常用于清缓存、批量改标记。
排查冲突:三行定位问题插件
站点突然白屏或报错,先用命令行批量停用所有插件看是否恢复,再逐个启用定位:
wp plugin deactivate --all
wp plugin activate plugin-a
wp plugin activate plugin-b
比在后台一个个点快得多,也适合在无界面服务器上排障。
把运维写进脚本
WP-CLI 的输出支持 --format=json / ids / csv,方便接管道。例如把全部草稿改成发布:
wp post list --post_status=draft --format=ids | \
xargs -n1 wp post update --post_status=publish
配合 wp eval 还能跑任意 PHP 片段,做更复杂的批量数据修复。
- 安装并验证:下载 wp-cli.phar 放到 PATH,在站点根目录运行 wp –info 确认可用。
- 列出现状:用 wp plugin list / wp post list / wp option get 看清当前插件、文章、选项状态。
- 批量操作:用 deactivate –all 、 plugin update –all 、 post update 等一次性处理,而非逐个点后台。
- 排查冲突:出问题时批量停用插件再逐个启用,快速定位问题插件或主题。
- 脚本化固化:把常用流程写成 shell 脚本,用 –format=json 接管道,纳入定时任务或 CI 。
“常见报错速查”
command not found:wp 没放进 PATH,或不在站点根目录,检查 –path 。
Error: Could not open handle:权限不足,确认对 wp-content 和数据库有写入权。
内存耗尽:给 PHP 调大 memory_limit,或在命令前加 wp 的 –require 限制批次。
常见问题






评论 (0)