3 min. 阅读

WP-CLI:从命令行管理 WordPress 的完整指南

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 可执行文件。

  1. 从 PHP for Windows 官方网站下载并安装 PHP
  2. 将 PHP 目录添加到 Windows PATH 环境变量中
  3. 打开命令提示符并运行 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

输出示例

名字地位更新版本
二十二点四活动none1.0
二十二三消极none1.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活动none8.5.1
yoast-seo活动可用21.0
元素消极none3.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 项目节省无数的时间。