WP-CLI(WordPress Command Line Interface)是 WordPress 的命令行工具,允许用户直接从命令行界面与 WordPress 进行交互。WP-CLI 通常是很多专业的运维人员采用的常用工具。配合 Shell 脚本或 CI/CD 工具(如 GitHub Actions、GitLab CI、DeployHQ 等),WP-CLI 可以极大提高效率。
关于使用 WP-CLI 运维网站更高效的具体原因可以参考这里。
链接:WP-CLI 下载 & 安装方法。
常用 WP-CLI 指令清单
下面是一份 常用 WP-CLI 指令清单,附带简要说明,帮助您快速上手或查阅:
🔧 安装和更新相关
命令 | 说明 |
---|---|
wp core download |
下载 WordPress 核心文件 |
wp core install |
安装 WordPress(需传入站点参数) |
wp core update |
更新 WordPress 核心版本 |
wp core version |
显示当前 WordPress 版本 |
🧰 插件管理
命令 | 说明 |
---|---|
wp plugin install 插件名 |
安装插件(可加 --activate 激活) |
wp plugin activate 插件名 |
启用插件 |
wp plugin deactivate 插件名 |
停用插件 |
wp plugin delete 插件名 |
删除插件 |
wp plugin update 插件名 |
更新插件(也可以用 --all 更新全部) |
wp plugin list |
显示已安装插件列表 |
🎨 主题管理
命令 | 说明 |
---|---|
wp theme install 主题名 |
安装主题(可加 --activate 自动启用) |
wp theme activate 主题名 |
启用主题 |
wp theme delete 主题名 |
删除主题 |
wp theme list |
列出所有主题 |
wp theme update 主题名 |
更新指定主题(或加 --all ) |
👤 用户管理
命令 | 说明 |
---|---|
wp user create 用户名 邮箱 |
创建新用户(加上 --role=角色名 ) |
wp user delete 用户ID |
删除用户(可加 --reassign=ID 迁移内容) |
wp user list |
列出所有用户 |
wp user update 用户ID --user_pass=新密码 |
修改用户密码 |
📝 内容管理(文章/页面)
命令 | 说明 |
---|---|
wp post create |
创建文章或页面 |
wp post list |
列出文章或页面 |
wp post delete ID |
删除指定 ID 的文章 |
wp post update ID --post_title="新标题" |
更新文章信息 |
📦 数据库操作
命令 | 说明 |
---|---|
wp db export 文件名.sql |
导出数据库 |
wp db import 文件名.sql |
导入数据库 |
wp db reset |
重置数据库(危险操作!) |
wp db query 'SQL语句' |
执行自定义 SQL |
📂 站点设置与选项
命令 | 说明 |
---|---|
wp option get 选项名 |
获取指定选项值 |
wp option update 选项名 新值 |
更新选项值 |
wp option list |
列出所有选项 |
🌐 多站点支持(仅限启用多站点时)
命令 | 说明 |
---|---|
wp site list |
显示多站点子站点列表 |
wp site create |
创建子站点 |
wp site delete |
删除子站点 |
wp site activate |
启用子站点 |
wp site deactivate |
停用子站点 |
🔄 缓存与临时文件
命令 | 说明 |
---|---|
wp cache flush |
清除对象缓存(如 Redis、Memcached) |
wp transient delete --all |
删除所有临时项(transients) |
⚙️ 其他常用命令
命令 | 说明 |
---|---|
wp cron event list |
列出计划任务 |
wp cron event run |
手动触发计划任务 |
wp rewrite flush |
刷新伪静态规则 |
wp search-replace '旧值' '新值' |
数据库中字符串替换(支持 dry-run) |
📷 与缩略图相关的常用 WP-CLI 指令
wp media regenerate
用于 重新生成缩略图尺寸(例如你修改了 functions.php
中的 add_image_size
设置之后)。
wp media regenerate
常用参数:
参数 | 说明 |
---|---|
--yes |
跳过每次确认提示,自动全部执行 |
--only-missing |
仅生成缺失的缩略图,不覆盖已存在的尺寸 |
--skip-delete |
保留旧缩略图,不删除 |
--include=ID1,ID2 |
仅处理指定的附件 ID |
--exclude=ID1,ID2 |
排除指定 ID 不处理 |
✅ 示例:
wp media regenerate --yes --only-missing
wp media list
列出媒体库中的所有附件,可以结合缩略图使用:
wp media list
结合筛选:
wp media list --format=csv --fields=ID,attachment_url,file
wp post meta
用于获取或设置文章或媒体的元数据,比如 featured image 是通过 post meta _thumbnail_id
来关联的。
获取文章缩略图 ID:
wp post meta get 123 --keys=_thumbnail_id
为文章设置缩略图(假设缩略图是 ID 为 456 的附件):
wp post meta update 123 _thumbnail_id 456
🧩 扩展插件命令(可选)
一些第三方插件提供了额外的 WP-CLI 命令:
- Real Thumbnail Generator 插件(重新生成缩略图专业版)
- Smush / EWWW Image Optimizer 等图像优化插件也提供压缩图片的 WP-CLI 支持
WP-CLI 指令使用的注意事项
WP-CLI 命令通常需要在 WordPress 站点的根目录下执行,或者通过 --path
参数显式指定站点路径。
方法一:进入站点根目录后再执行
cd /var/www/example.com
wp plugin list
方法二:使用 --path
参数指定站点路径
wp --path=/var/www/example.com plugin list
如果你管理的是 WordPress 多站点(Multisite),你可能还需要配合使用 --url
或 --blog
参数来指定具体子站点:
wp --path=/var/www/example.com --url=site1.example.com plugin list
使用示例(每5分钟执行一下 WordPress 站点的计划任务)
sudo crontab -e
在打开的编辑器中,添加这一行:
*/5 * * * * sudo -u www wp --path=/var/www/example.com cron event run --due-now > /dev/null 2>&1
这样可在系统的计划任务(cron)中执行 WordPress 的定时任务(cron event),每5分钟执行一次。注意替换 /var/www/example.com 为站点的实际目录。
暂无评论内容