如何使用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 浏览器和终端窗口之间切换。

贾斯汀·艾林伍德