如何使用WP-CLI从命令行管理您的WordPress网站
状态: 已弃用
本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 或 Ubuntu 12.10 的服务器,我们强烈建议升级或迁移到受支持的 Ubuntu 版本:
原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.
请参阅: 本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。
介绍
WordPress 是一种非常流行的博客和内容管理系统 (CMS),被数百万个网站使用。 它可用于轻松组织、管理和创建 Web 上的内容,并处理与访问者和贡献者的交互。
尽管大多数人将 WordPress 用于其图形界面,但能够从命令行控制软件是有好处的。 名为 wp-cli
的工具仅提供此功能。
这有助于编写脚本,并允许您从一个地方管理站点的所有方面,从配置文件和数据库管理到发布、主题化、上传媒体和批准评论。
在本指南中,我们将使用 wp-cli 界面来管理我们的 WordPress 安装。
如何安装 WP-CLI
本指南假定您已使用来自 droplet 创建页面的 WordPress 应用程序映像创建了 VPS。 如果您在执行此操作时需要帮助,您可以 遵循本指南 。
完成部署 Droplet 后,以 root 用户身份通过 SSH 连接到服务器:
ssh root@ server_ip_address
您应该在 root 用户的主目录中。
我们需要做的第一件事是安装 git
。 在 wp-cli 安装期间使用此版本控制系统:
apt-get update apt-get install git
接下来,我们可以获取安装程序并使用此命令运行它,该命令取自项目的网站:
curl https://raw.githubusercontent.com/wp-cli/wp-cli.github.com/master/installer.sh | bash
这将安装一些使软件正常运行所需的工具。
接下来,我们将为我们的 root 用户创建一个 .bash_profile
文件,并添加 wp-cli 可执行文件和自动完成脚本的路径。
nano ~/.bash_profile
在此文件中,放入以下两行:
export PATH=/root/.wp-cli/bin:$PATH source $HOME/.wp-cli/vendor/wp-cli/wp-cli/utils/wp-completion.bash
保存并关闭文件。
现在,我们可以“获取”文件(将其重新读取到我们的环境中),以应用我们的更改:
source ~/.bash_profile
现在,我们已经安装了界面,我们可以开始使用它了。
切换到 WordPress Web 目录开始。 一键安装,就是这里:
cd /home/wordpress/public_html
使用 WP-CLI 安装站点
如果这是一个全新的 VPS 实例,那么您甚至还没有完成基本配置。 如果您已经完成了站点初始化过程,请随时跳过此步骤。
如果您输入 wp
,这是用于与 wp-cli 界面交互的命令,您将收到以下消息:
wp
Error: The site you have requested is not installed. Run `wp core install`.
您 可以 通过在 Web 浏览器中转到您的 IP 地址或域名并填写如下所示的表格来初始化站点:
但是,由于这是关于如何使用 wp-cli 的指南,我们将在一个命令中填写所有这些信息。 我们通过核心安装来做到这一点。
我们必须将在该页面上要求的所有字段作为参数传递。 这是按照以下一般格式完成的:
--参数=“值”
我们需要定义的参数是:
- url:将用于访问您的站点的域名。 如果您没有域,则可以使用您的 IP 地址
- title:您网站的标题
- admin_user:您将用于登录和执行管理站点功能的名称
- admin_password:admin用户的关联密码
- admin_email:您希望就网站问题联系的电子邮件地址
我们在 core
命令和 install
子命令之后添加这些。 总之,这给了我们一个如下所示的命令:
wp core install --url=“ your_domain_name ” --title=“您的博客标题” --admin_user=“admin” --admin_password=“ your_password ” --admin_email=“ your_email ”
此过程可能需要一些时间来配置所有必要的组件。 完成后,您应该会看到一行内容:
Success: WordPress installed successfully.
如果我们在浏览器中访问我们的网站,我们应该会看到默认的 WordPress 网站:
如何使用 WP-CLI 帮助系统
虽然 wp-cli 不包含传统的 man
手册页,但它包含一个强大的内部帮助系统。 您可以随时通过键入以下内容访问它:
wp help
DESCRIPTION Manage WordPress through the command-line. SYNOPSIS wp <subcommand> SUBCOMMANDS cache Manage the object cache. cap Manage user capabilities. cli Get information about WP-CLI itself. . . .
您可以看到 wp-cli 用于操作 WordPress 不同区域的所有顶级子命令。
要退出,请键入:
q
最好通过键入 wp
后跟一个空格然后按几次 Tab 来查看可用的子命令,从而最好地查看第一级:
wp <tab><tab>
cache eval network-meta role theme cap eval-file option scaffold transient cli export plugin search-replace user comment help post shell user-meta core import post-meta site db media rewrite term
然后您可以使用帮助系统查询特定子命令:
wp help theme
NAME wp theme DESCRIPTION Manage themes. SYNOPSIS wp theme <subcommand> SUBCOMMANDS activate Activate a theme. delete Delete a theme. . . .
如您所见,这些子命令中的每一个都有其 own 子命令。 帮助系统在命令结构的整个过程中运行:
wp help theme install
NAME wp theme install DESCRIPTION Install a theme. . . .
通过这种方式,您可以获得有关您希望使用的系统的任何方面的帮助。
如何使用 WP-CLI 安装主题
为了演示 wp-cli 的一些基本用法,我们将做任何人在创建新博客时要做的第一件事:获取新主题。
首先让我们看看我们已经安装了哪些主题:
wp theme list
+----------------+----------+--------+---------+ | name | status | update | version | +----------------+----------+--------+---------+ | twentythirteen | active | none | 1.1 | | twentytwelve | inactive | none | 1.3 | +----------------+----------+--------+---------+
如您所见,我们安装了两个主题,我们目前正在使用一个名为“二十三”的主题。 这很好,但有点无聊。
让我们寻找更令人兴奋的东西:
wp theme search fancy
Success: Showing 5 of 5 themes. +---------------+---------------+--------+ | name | slug | rating | +---------------+---------------+--------+ | Bold Headline | bold-headline | 100 | | Clearly | clearly | 90 | | The Skeleton | the-skeleton | 100 | | Metronome | metronome | 0 | | Shipyard | shipyard | 0 | +---------------+---------------+--------+
我们可以看到有 5 个主题自称是花哨的。 “Bold Headline”看起来很令人兴奋,并且收视率很高。 让我们得到那个。 在命令中使用 slug
列中的字符串:
wp theme install bold-headline
如果我们再次检查,我们可以看到它已经安装成功:
wp theme list
+----------------+----------+--------+---------+ | name | status | update | version | +----------------+----------+--------+---------+ | bold-headline | inactive | none | 1.2.5 | | twentythirteen | active | none | 1.1 | | twentytwelve | inactive | none | 1.3 | +----------------+----------+--------+---------+
我们可以通过键入以下内容来激活我们的新主题:
wp theme activate bold-headline
现在,如果我们访问我们的网站,我们可以看到我们的新主题已被应用:
这看起来不错!
如何使用 WP-CLI 管理插件
您可以以与主题类似的方式管理插件。 它们有许多相同的子命令:
wp plugin list
+---------+----------+--------+---------+ | name | status | update | version | +---------+----------+--------+---------+ | akismet | inactive | none | 2.5.9 | | hello | inactive | none | 1.6 | +---------+----------+--------+---------+
我们安装了两个主题,但都没有激活。
让我们获得一个可以敦促用户在社交媒体网站上分享内容的插件。 有一个名为 Digg-Digg 的插件为此而闻名:
wp plugin search Digg
我们可以看到一些不同的选择。 让我们实际打开它并安装“aas-digg-digg-alternative”插件。 同样,通过 slug 名称引用插件:
wp plugin install aas-digg-digg-alternative
我们可以通过键入以下内容来激活插件:
wp plugin activate aas-digg-digg-alternative
我们可以通过访问我们的一篇文章来查看结果:
如何使用 WP-CLI 管理内容
如果您习惯于使用命令行编辑器撰写文章,则可以通过 wp-cli 界面制作整个博客文章。
要获取博客上的帖子列表,请键入:
wp post list
+----+--------------+-------------+---------------------+-------------+ | ID | post_title | post_name | post_date | post_status | +----+--------------+-------------+---------------------+-------------+ | 1 | Hello world! | hello-world | 2013-10-31 20:02:18 | publish | +----+--------------+-------------+---------------------+-------------+
现在,只有默认消息。 与其删除这篇文章,不如将其编辑为更有用的东西。 我们通过 ID 引用帖子:
wp post edit 1
删除内容并将其替换为:
Hello. This is my first official blog post. I hope to be adding some additional content here soon. Have a great day!
保存并关闭文件后,更改将生效。 我们还应该更改标题以匹配我们的新内容:
wp post update 1 --post_title="An Introduction..."
您可以通过重新访问您的博客来查看您的新内容:
我们可以通过键入以下内容来添加一个全新的帖子:
wp post create --post_status=publish --post_title="Second Post" --edit
这将打开一个编辑器,我们可以在其中输入第二篇文章:
Hello. Here is another post. I am becoming quite prolific.
如何使用 WP-CLI 进行数据库查询
wp-cli 最有用的功能之一是与 SQL 后端的集成。
您可以通过键入以下内容在交互式会话中直接进入 WordPress 数据库:
wp db cli
这将为您提供 MySQL 提示,您可以使用它来执行所需的任何类型的数据库管理。 您可以通过键入以下内容退出界面:
exit
但是,对于大多数常见的数据库操作,您可以直接从 wp-cli 界面控制它。
要查询我们的用户及其关联的 ID,我们可以使用以下内容:
wp db query "SELECT user_login,ID FROM wp_users;"
+------------+----+ | user_login | ID | +------------+----+ | admin | 1 | +------------+----+
如您所见,我们只有一个用户。 我们可以使用这些信息来更新我们刚刚发布的帖子。 让我们在帖子中添加作者字段。 请务必获取您要更新的帖子 ID:
wp post update 6 --post_author=1
现在,我们的帖子应该在我们的内容旁边将作者列为“管理员”。
我们可以通过键入以下内容来优化我们的数据库:
wp db optimize
如何使用 WP-CLI 更新 WordPress
我们可以通过执行以下程序使 WordPress 保持最新:
wp core update wp core update-db
更重要的是,我们可以通过键入以下内容来更新我们的插件,这些插件往往是 WordPress 安全性的薄弱环节:
wp plugin update --all
结论
您现在应该已经很好地掌握了如何通过命令行在 WordPress 中完成任务。 这不仅是为不同客户端管理多个站点的快速简便的方法,它还提供了非常好的脚本功能来轻松完成非常复杂的任务。
通过有效地使用 wp-cli,您将不再需要在进行 Web 界面中可能不可用的更改时不断地在 Web 浏览器和终端窗口之间切换。