WP-CLI 是一款官方命令行工具,可以直接从终端管理 WordPress 安装,而无需打开浏览器。如果你曾经花了一个下午的时间点击 WordPress 管理仪表板来更新多个网站的插件,你就已经知道这个工具存在的意义了。
在本指南中,你将学习到从在 Linux、macOS 和 Windows 上安装 WP-CLI 到使用脚本和配置文件自动执行复杂的维护任务等所有内容。无论你是管理一个博客还是几十个客户网站,掌握 WP-CLI 都将从根本上改变你使用 WordPress 的方式。
你将学到什么?
- 如何在不同操作系统上安装和配置 WP-CLI
- 管理插件、主题、用户和内容的基本命令
- 数据库操作,包括导出、导入和安全搜索替换
- 使用脚本、别名和 cron 作业的自动化技术
- 在终端工作时避免常见陷阱的最佳做法
什么是 WP-CLI?(先快速解释)
WP-CLI 是 WordPress Command Line Interface(WordPress 命令行接口)的缩写,它是一种开源工具,可以让你完全通过终端管理 WordPress 网站。你无需登录 wp-admin 并浏览菜单,只需运行wp plugin update --all 等命令,就能在几秒钟内看到整个插件栈的更新。
该项目始于 2011 年左右,由希望以更快的方式大规模管理 WordPress 的开发人员创建。2017 年,该项目转移到 WordPress.org 官方旗下,目前由包括阿兰-施莱瑟(Alain Schlesser)和丹尼尔-巴赫伯(Daniel Bachhuber)在内的专业团队负责维护。
以下是你需要了解的 WP-CLI 知识:
- 当前稳定版本:WP-CLI 2.x 系列
- WordPress 兼容性:适用于 WordPress 5.x 至 6.x(历史上可追溯至 3.7)
- PHP 要求:建议使用 PHP 7.4 或 8.x,以提高安全性和性能
- 命令生态系统:40 多条父命令几乎涵盖了 WordPress 的所有操作
- 主要用户开发人员、代理机构、DevOps 工程师以及管理复杂或多个站点的高级用户
- 分发:通过软件包管理器以 PHAR 文件形式提供,或预装在许多托管 WordPress 主机上
使用 WP-CLI 的主要优势
一旦你理解了 WP-CLI 存在的原因,学习曲线就会变得更加容易合理。本节将介绍该工具的具体优势,这些优势值得你花时间去了解。
节省重复性任务的时间
通过 WordPress 仪表板更新 20 个插件意味着 20 次页面加载、20 次点击和查看 20 个进度条。有了 WP-CLI,您只需运行wp plugin update --all 一次,然后继续。对于管理多个客户网站的机构来说,这种差异可以转化为每周节省的小时数。
批量和自动操作
考虑这样一种情况:您正在为黑色星期五准备 15 个 WooCommerce 商店。您需要在每个网站上更新插件、清除缓存并验证数据库的完整性。WP-CLI 可让您编写整个序列的脚本,并在几分钟内而不是几小时内在所有网站上执行。主要自动化功能包括
- 用一个脚本更新多个安装中的所有插件
- 批量创建具有预定义角色的用户
- 通过 cron 运行夜间维护(数据库优化、瞬时清理)
- 将相同的 WordPress 配置部署到新环境中
基于浏览器的操作的可靠性
浏览器操作会出现 HTTP 超时。大型数据库导入中途失败。使用原始 SQL 进行搜索替换操作会损坏序列化数据。WP-CLI 可以避免所有这些问题,因为它直接在服务器上运行,没有超时限制,而且其搜索替换命令可以正确处理序列化数据结构。
直接控制 WordPress 核心系统
通过一个终端,您可以
- 导出和导入 WordPress 数据库
- 修改
wp-config.php设置 - 检查并触发 wp-cron 事件
- 切换维护模式的开启和关闭
- 在 WordPress 环境中运行任意 PHP 代码
减少 wp-admin 的负载
在繁忙的生产服务器上,每个管理仪表板页面的加载都会消耗资源。通过 WP-CLI 运行维护操作可以减少网络服务器的负载,这在高流量期间非常重要。
WP-CLI 要求和支持的环境
在安装 WP-CLI 之前,你需要确认你的服务器或本地环境符合基本要求。好消息是,大多数现代 WordPress 设置已经符合要求。
PHP 版本要求:
- 最低配置:PHP 5.6(虽然已经过时)
- 建议使用PHP 7.4、8.0、8.1、8.2、8.3、8.4 或 8.5,以确保 2026 年的安全性和性能
WordPress 版本兼容性:
- 历史支持WordPress 3.7 及更新版本
- 现代目标:针对当前项目的 WordPress 5.0 至 6.7+ 版本
操作系统预期:
- 最佳支持:类 UNIX 系统(Ubuntu 22.04 LTS、Debian 12、CentOS Stream、macOS)
- Windows通过 WSL(Windows Linux 子系统)或本地 PHP 安装支持
额外要求:
- PHP 可在命令行中使用(
php二进制文件必须在你的 PATH 中) - cURL 或 wget 用于下载
wp-cli.phar文件 - 远程服务器的 SSH 访问(大多数托管 WordPress 托管计划默认包含此功能)
许多流行的主机,如 Kinsta、SiteGround 和 DreamHost,现在都预装了 WP-CLI。WordPress.com 也为启用了 SSH 访问的网站提供了 WP-CLI。
如何在 Linux 和 macOS 上安装 WP-CLI
标准安装方法使用官方 PHAR(PHP 存档)文件。该过程适用于 Ubuntu、Debian、CentOS、Fedora 和 macOS 终端。
第 1 步:下载 PHAR 文件
打开终端,使用 curl 下载wp-cli.phar :
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
或者使用 wget:
wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
第 2 步:验证下载(可选但建议使用)
根据 WP-CLI 文档中公布的官方值检查 SHA-256 校验和,以确保文件在下载过程中未被篡改:
sha256sum wp-cli.phar
将输出结果与 WP-CLI 官方网站上列出的校验和进行比较。
步骤 3:测试 PHAR 文件
确认 php 文件是否正常运行:
php wp-cli.phar --info
你会看到显示 WP-CLI 版本、PHP 版本和系统信息的输出。
第 4 步:将其设为可执行文件并移至 PATH
将文件设为可执行文件并移至系统 PATH 目录中:
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
通常需要使用sudo 命令,因为/usr/local/bin 是一个系统目录。如果你主要以普通用户身份运行 WP-CLI,请避免以 root 身份安装。
步骤 5:验证全球安装
确认 WP-CLI 现在全球可用:
wp --info
wp cli version
你应该会看到确认 wp cli 版本、PHP 二进制位置和操作系统详细信息的输出。至此,WP-CLI 已经安装完毕,可以随时使用。
如何在 Windows 上安装 WP-CLI
Windows 用户有两条主要途径:使用 Windows Subsystem for Linux (WSL) 或设置本机 Windows 安装。WSL 提供了更类似 Linux 的体验,一般推荐使用。
方案 1:使用 WSL(推荐)
首先,在 Windows 10 或 11 上启用 WSL:
wsl --install
从微软商店安装 Ubuntu,然后启动 Ubuntu 终端。从那里,按照上一节概述的完全相同的 Linux 安装步骤–下载 phar 文件,使其可执行,并将其移动到/usr/local/bin/wp 。
方案 2:本地 Windows 安装
要进行本地安装,需要安装 PHP for Windows,并在系统 PATH 中提供php 可执行文件。
- 从 PHP for Windows 官方网站下载并安装 PHP
- 将 PHP 目录添加到 Windows PATH 环境变量中
- 打开命令提示符并运行
php -v
然后,下载 WP-CLI PHAR 文件:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
自 2018 年起,Windows 默认包含 curl,因此无需额外设置即可运行。为 WP-CLI 创建一个文件夹(如C:\wp-cli ),并将下载的文件移至其中。
然后在同一文件夹下创建一个名为wp.bat 的批处理封装文件:
@echo off
php "C:\wp-cli\wp-cli.phar" %*
将C:\wp-cli 添加到系统 PATH 环境变量中。现在打开一个新的命令提示符或 PowerShell 窗口并进行验证:
wp --info
你会看到 WP-CLI 版本和环境详情,确认 WP-CLI 已正确安装。
WP-CLI 的基本用法和获取帮助
安装了 WP-CLI 后,在进行具体操作之前,你需要了解基本的命令模式。所有 WP-CLI 命令都遵循这一结构:
wp <command> <subcommand> [options]
命令在 WordPress 安装目录下执行,该目录包含wp-config.php 。如果在其他地方,可以用--path=/var/www/html/mysite 指定路径。
检查您的环境
首先确认您的设置:
wp --info
这将显示你的 WP-CLI 版本、PHP 版本、PHP 二进制路径、操作系统和其他环境详情。如果只想查看 WP-CLI 版本,请点击以下链接:
wp cli version
探索可用命令
要列出所有可用的 wp cli 命令:
wp help
有关特定命令的帮助:
wp help plugin
wp help core update
您还可以将--help 添加到任何命令中:
wp user --help
帮助输出以类似于 Unix man 页的页码显示。按q 退出。
首先要尝试的命令
wp core version– 显示您的 WordPress 版本wp plugin list– 显示所有已安装的 WordPress 插件及其状态wp theme list– 显示已安装的主题wp user list– 列出网站上的所有用户
这些只读命令可以让你在不更改任何内容的情况下浏览 WordPress 网站,非常适合你熟悉界面。
使用 WP-CLI 安装和配置 WordPress
WP-CLI 可以比传统的网络安装程序更快地完成 WordPress 的全新安装。这在启动开发环境或以编程方式部署新网站时尤为重要。
前提条件
在运行安装命令之前,需要准备好 MySQL 或 MariaDB 数据库。在本示例中,假定您已创建:
- 数据库名称:
wpsite_db - 数据库用户:
wpsite_user - 密码
securepassword123 - 主持人
localhost
第 1 步:下载 WordPress 核心文件
导航至所需的安装目录并下载 WordPress 核心文件:
wp core download
这将获取最新的 WordPress 版本。要指定版本或语言,请
wp core download --version=6.4.2 --locale=fr_FR
完成后,您会看到 WordPress 已成功下载的确认信息。
第 2 步:生成 wp-config.php
使用 wp config create 创建配置文件:
wp config create --dbname=wpsite_db --dbuser=wpsite_user --dbpass=securepassword123 --dbhost=localhost
这会生成一个完整的wp-config.php ,其中包含数据库凭据和自动生成的安全盐。
第 3 步:运行安装程序
现在根据您网站的详细信息安装 WordPress:
wp core install --url=https://example.com --title="My New Site" --admin_user=admin --admin_password=strongpassword [email protected]
您将看到 “WordPress 安装成功 “的信息,然后您的网站就可以使用了。
多站点安装
对于 WordPress 多站点网络,请使用多站点变量。WP-CLI 可以通过以下方式配置多站点安装:
wp core multisite-install --url=https://example.com --title="My Network" --admin_user=admin --admin_password=strongpassword [email protected]
使用 WP-CLI 管理主题
WP-CLI 可处理所有主题操作,无需访问 WordPress 管理仪表板。您可以直接从终端列出、安装、激活、更新和删除主题。
列出已安装的主题
查看当前安装的所有主题:
wp theme list
输出示例
| 名字 | 地位 | 更新 | 版本 |
|---|---|---|---|
| 二十二点四 | 活动 | none | 1.0 |
| 二十二三 | 消极 | none | 1.2 |
| 天体 | 消极 | 可用 | 4.5.0 |
激活主题
切换到不同的主题:
wp theme activate astra
这将立即更改活动主题。切换回默认主题有助于排除与主题相关的故障:
wp theme activate twentytwentyfour
安装新主题
从 WordPress.org 资源库中安装主题:
wp theme install astra
只需一条命令即可完成安装和激活:
wp theme install astra --activate
更新主题
更新特定主题:
wp theme update astra
或者一次性更新所有主题:
wp theme update --all
删除主题
删除不再需要的主题:
wp theme delete twentytwentythree
使用 WP-CLI 管理插件
插件管理是 WP-CLI 最能节省时间的地方。您可以执行在仪表板上需要点击几十次才能完成的批量操作。
列出插件
wp plugin list
输出示例
| 名字 | 地位 | 更新 | 版本 |
|---|---|---|---|
| woocommerce | 活动 | none | 8.5.1 |
| yoast-seo | 活动 | 可用 | 21.0 |
| 元素 | 消极 | none | 3.18.0 |
安装插件
根据插件标题安装插件:
wp plugin install woocommerce
安装并激活:
wp plugin install yoast-seo --activate
激活和停用
激活插件:
wp plugin activate elementor
停用插件(用于调试):
wp plugin deactivate elementor
一次性停用所有插件(调试 “白屏死机 “时的救星):
wp plugin deactivate --all
更新插件
更新特定插件:
wp plugin update yoast-seo
更新所有插件:
wp plugin update --all
您还可以将特定插件排除在批量更新之外:
wp plugin update --all --exclude=woocommerce
更新和修复 WordPress 内核
保持 WordPress 的更新对于安全至关重要。WP-CLI 使这一过程透明可控。
检查更新
wp core check-update
更新 WordPress
更新到最新版本:
wp core update
核心更新后,最好更新数据库模式:
wp core update-db
验证校验和
如果怀疑网站被黑,可以验证核心文件是否被修改:
wp core verify-checksums
它会将您的文件与 WordPress 官方软件源的校验和进行比较。
重新安装核心
如果文件已损坏,可以强制重新安装而不影响内容:
wp core download --force --skip-content
管理内容、用户和数据库
WP-CLI 允许你直接与网站数据交互。
用户管理
列出用户:
wp user list
创建新管理员:
wp user create newadmin [email protected] --role=administrator --user_pass=securepass123
更新用户密码:
wp user update 1 --user_pass=newpassword
删除用户并重新分配其内容:
wp user delete 5 --reassign=1
数据库操作
将数据库导出到文件:
wp db export backup.sql
从文件导入数据库
wp db import backup.sql
优化数据库:
wp db optimize
打开直接连接到 WordPress 数据库的 MySQL 控制台:
wp db cli
搜索和替换(正确方法)
手动将 WordPress 网站移动到一个新域是有风险的,因为数据通常是序列化在数据库中的。简单的 SQL 查找和替换就会破坏部件和主题选项。WP-CLI 可以正确处理序列化。
标准搜索-替换
wp search-replace 'http://old-domain.com' 'https://new-domain.com'
模拟运行(预览)
在运行命令之前,一定要先检查一下会有什么变化:
wp search-replace 'http://old-domain.com' 'https://new-domain.com' --dry-run
导出替换后的数据库
您可以导出文件中替换后的数据库,而不触动实时数据库:
wp search-replace 'old.com' 'new.com' --export=migrated-db.sql
高级维护:Cron 和对象缓存
管理 Cron 作业
查看计划事件:
wp cron event list
立即运行所有到期的 cron 事件:
wp cron event run --due-now
管理暂存器和缓存
清除对象缓存:
wp cache flush
删除所有过期瞬态:
wp transient delete --expired
使用脚本自动执行任务
您可以将 WP-CLI 命令合并到 Bash 脚本中,实现自动维护。
示例:每周维护脚本
创建一个名为maintain.sh 的文件:
#!/bin/bash
# Update everything
wp core update
wp core update-db
wp plugin update --all
wp theme update --all
# Cleanup
wp transient delete --expired
wp cache flush
wp db optimize
echo "Maintenance complete."
将其设置为可执行 (chmod +x maintain.sh) 并运行,即可在数秒内完成全部网站维护工作。
通过 SSH 远程使用 WP-CLI
如果配置了别名,则无需登录服务器即可运行命令。
在本地wp-cli.yml 文件中:
@prod:
ssh: [email protected]/var/www/html
@dev:
ssh: [email protected]/var/www/html
现在,你可以在本地机器上运行远程服务器上的命令:
wp @prod plugin list
wp @dev core version
最佳做法
- 随时备份:在运行批量更新或搜索替换命令之前,运行
wp db export。 - 使用干运行:搜索替换时,始终先使用
--dry-run。 - 不要以 Root 身份运行:如果以根用户身份运行,WP-CLI 会发出警告。以网络服务器用户(如
www-data)或特定用户账户运行更为安全。 - 在暂存中测试:使用 WP-CLI 将生产网站克隆到暂存网站,在那里测试更新脚本,然后应用到生产网站。
结论
WP-CLI 将 WordPress 管理从一系列点击操作转变为精简的脚本操作。从检查版本和列出插件等简单命令开始,为高级自动化打下基础。现在就将 WP-CLI 集成到您的工作流程中,将为您的 WordPress 项目节省无数的时间。