今天明月在【米饭粑】博客看到一个介绍使用 WP CLI 的文章,感觉非常适合明月这种喜欢在 Linux 控制台终端折腾的站长,于是就在自己的服务器你上安装了 WP CLI 试用了一番,感觉超级的棒。以前只是看过相关的介绍,没有具体的使用体验过,没有想到这么强大,忍不住就迷上了,于是特别摘录转载了,当做学习笔记分享给大家。

wpcli.jpg

WP CLI 是一个强大的 PHP 命令行拓展,可以在不使用 WP后台 的情况下,仅通过命令行就可以完成 WP、主题、插件的安装、升级、使用等等,非常的强势,并且安装插件都是以最佳的姿势进行,如果一些插件需要课外进行什么复杂的设置,那么使用 WP CLI 就可以便捷的完成安装,并且规避新手随意设置权限带来的安全风险。

因为 WP CLI 的运行要求较高,所以一般只存在于高级虚拟主机和服务器中。

安装

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
wp --info

可选

由于 WP-CLI 是为了安全的 WP 操作而生的,所以如果直接使用 root 账户操作,会提示不安全。所以我们要创建一个账户

useradd wp-cli

'wp-cli' 是换成你想要的账户名称,然后输入两次密码即可

然后我们通过 wp-cli 登入 SSH,再使用 WP 命令进行操作即可。 不过需要确保新建账户对相关 WP 目录拥有操作权限。 一般来说 /home/wp-cli/ 目录是肯定有权限的。后续需要 root 权限的操作,使用 sudo 即可。

注: 如果不想新建账户,那么我们在命令后加上 --allow-root 即可。 例如:

wp --allow-root  core download --version=4.9.4

运行示例

查看 WP-CLI 信息:

wp --info

PHP binary: /usr/bin/php5
PHP version:    5.6.27-0+deb8u1
php.ini used:   /etc/php5/cli/php.ini
WP-CLI root dir:    phar://wp-cli.phar
WP-CLI packages dir:    
WP-CLI global config:   
WP-CLI project config:  
WP-CLI version: 0.25.0

如果之前已经存在 WP 网站,例如如下提示:

wp core update

Error: This does not seem to be a WordPress install.
Pass --path=`path/to/wordpress` or run `wp core download`.

我们在相关目录运行 wp core download 或者 --path=<path> 即可

搜索wordpress插件:

wp plugin search PLUGIN_NAME

安装wordpress插件:

wp plugin install PLUGIN_NAME

激活wordpress插件:

wp plugin activate PLUGIN_NAME

列出安装的插件:

wp plugin list

获取插件状态:

wp plugin status

WP CLI 特色

有关 WP Core 的相关命令

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 安装插件(SmushCustom Sidebars plugins)的全过程。

wp plugin search smush

此条命令将返回一个从 WordPress.org 搜索得来的「smush」列表,如下图:

20180226010416.png

现在我需要安装 WP Smushit 这个插件(别名是 wp-smushit)。OK,我再找找想要的 Custom Sidebars 插件。

wp plugin search "Custom Sidebars"

20180226010708.png

找到了,custom-sidebars 就是插件的别名。只需要一行命令即可同时安装两款插件:

wp plugin install wp-smushit custom-sidebars

稍等几秒后,它们就安静地躺在后台啦!

站点维护

令 WordPress 降级至前一版本

说是降级,实际上 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 选项去掉,这样就可以确保任何修改都在可控范围内。

更多使用姿势:http://wp-cli.org/commands/
本文部分内容和指令示例均转载自使用 WP-CLI 高效便捷化管理 WordPress】一文,特此声明!
最后修改:2018 年 02 月 26 日
如果觉得我的文章对你有用,请随意赞赏