网站高效运维工具:WP-CLI 使用指南

网站高效运维工具:WP-CLI 使用指南

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 为站点的实际目录。

 

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容