WP-CLI 对于 WordPress 开发者和高级用户来说,是一个超有用的节省时间利器哦。不过,如果你之前从未接触过这样的命令行包,刚开始会有点吓人……
Talk is cheap,所以我将带你去真正体验一下 WP-CLI 使用的全过程。
原作者:@WPMUDEV,禁止转载。
使用 WP-CLI 要做的第一件事应该是为它找一个合适的主机……国内的许多主机商都没有开放相应权限给用户(例 SSH),并且它只能安装在 类 UNIX 系统下(Linux / macOS)——这样使得 WP-CLI 的使用环境大概只能在 VPS 或本地进行。
和以往不同,这次我们不能再从官网下载个压缩包就直接扔到网站上。WP-CLI 中的 WP Core 函数可供用户下载、安装、升级 WordPress 核心。
例如,我准备将新网站的全部内容都保存在本地的 ~/cli-test/ 这个目录下,那么在安装完 WP-CLI 后我可以执行:
wp core download
下一步当然是创建数据库咯。phpMyAdmin 抑或是使用 WP Core 提供的命令,只要达到目的即可,不再赘述。
wp core config --dbname=database_name --dbuser=database_user --dbpass=user_password --dbhost=localhost --dbprefix=wp_
最后一步就是运行 WordPress 安装程序,我们来试试使用 WP Core 命令进行?
wp core install --url=www.mywpku.com --title=WP酷 --admin_user=PCDotFan --admin_password=$tron9Pa55w0rd --admin_email=pc@edu.ax
使用命令行操作的一大好处就是可以像批处理一样构建网站。例如运营站群就需要给多个网站主机安装程序,现在只需要考虑如何为它们执行一行命令,岂不美哉?
wp core version: 查看 WordPress 的当前版本
wp core multisite-install: 为 WordPress 设置多站点网络(WPMU)
wp core update: 升级 WordPress 核心
wp core update-db: 更新 WordPress 数据库(往往在上一行代码之后执行)
执行
wp theme list后将会显示一个包含有「已安装主题」、「状态」、「版本号」、「是否有可用更新」的总表:
# 从 WordPress.org 安装 tortuga 主题 (https://wordpress.org/themes/tortuga/) wp theme install tortuga # 从本地安装主题 wp theme install /Users/pcdotfan/Desktop/tortuga.zip # 从 URL 安装主题 wp theme install https://github.com/jpen365/five-hacks-for-twenty-seventeen/archive/1.0.zip
就这么轻松!
wp plugin list和安装主题的方法一样,仅仅是将
theme更改为
plugin而已。我们同样也通过实例来了解一下使用 WP-CLI 安装插件(Smush 和 Custom Sidebars plugins)的全过程:
wp plugin search smush
此条命令将返回一个从 WordPress.org 搜索得来的「smush」列表:
现在我需要安装 WP Smushit! 这个插件(别名是 wp-smushit)。OK,我再找找想要的 Custom Sidebars 插件。
找到了,custom-sidebars 就是插件的别名。只需要一行命令即可同时安装两款插件:
wp plugin install wp-smushit custom-sidebars
稍等几秒后,它们就安静地躺在后台啦!
说是降级,实际上 WP-CLI 实现了「恢复至指定版本」的功能。即使 WordPress 向下兼容性做得很到位,但是也仍不能排除有例外的情况。来看下命令:
wp core update --version=4.6.1 --force
倘若你的 WordPress 正处于 4.7 版本,这一操作将直接回退到 4.6 版本的核心内容(不包括主题、插件)并删除任何 WordPress 4.7 新增的文件。注意:记得备份。
WP-CLI 的查询 & 替换功能是一个亮点,当我们正准备给网站搬家(更换域名、添加 HTTPS 等)时显得尤为方便。
# Check number of times string will be replaced wp search-replace "http://olddomain.com" "http://newdomain" --dry-run # Replace old domain with new domain wp search-replace "http://olddomain.com" "http://newdomain.com" # Update URL to https wp search-replace "http://example.com" "https://example.com"
默认情况下,WP-CLI 只会查找/替换 WordPress 自有核心的数据表。不过我们也有其他办法让它搜索其他的表:
# Search and replace a custom table and core table wp search and replace "old-string" "new-string" wp_custom_table wp_posts # Search and replace all tables, including custom tables wp search and replace "old-string" "new-string" --all-tables
是不是省了好多 SQL 命令?
需要注意的是,你应该时刻注意自己的数据库是否有近期备份——WP-CLI 的操作实际上就是对数据库进行增删改查,且不可回退。不过还好,WP-CLI 有一项功能可以让你避免做出傻事—— 所提供的 –dry-run 选项类似于一个沙箱,在执行完命令后并不会真的操作数据库——而是返回一张带有更改位置及内容的表。待确定无误后再把 –dry-run 选项去掉,这样就可以确保任何修改都在可控范围内。