WP-CLI:初学者指南

已发表: 2021-02-02

任何不熟悉 WordPress 的人都会很容易被其界面的复杂性所淹没。 毕竟,作为 39.9% 的网站使用的 CMS,它需要非常丰富的功能。 通常需要数周时间和大量咖啡因来了解图形用户界面 (GUI) 的来龙去脉。 尽管了解 WordPress GUI 是一项需求量很大的技能,但这只是成为真正大师的一部分!

最容易想到 WordPress,就像您想到 Windows、Linux 和 Mac 等操作系统一样。 虽然您可以只使用顶层并保留它,但您只会使用它的一小部分功能。 如果您以前为 Linux 编写过脚本,我想为这次创伤道歉。 但是,您可以放心,WP-CLI 更加简单易学。

这种知识在如此高的市场需求中的原因是因为许多人认为它是不可能学习的。 甚至动词“脚本”听起来也很吓人! 事实上,这是网上赚钱最简单的方法之一。 如果您已经是 WordPress 管理员,它可以大大缩短您花在做平凡任务上的时间。

事不宜迟,让我们深入探讨如何利用 WordPress CLI 的强大功能!

什么是 WP-CLI?

在您成为世界下一个顶级 WordPress CLI 开发人员之前,您需要知道它是什么。 该名称只是“WordPress”的首字母缩写词与“命令行界面”的旧首字母缩写词混合在一起。 CLI 是 GUI 的对立面; 一切都在所谓的“终端”中运行。

与您的 GUI 不同,您可以在其中单击按钮并直观地检查正在发生的事情,WP-CLI 的一切都发生在幕后。 尽管您可以运行对站点范围具有强大影响的命令和脚本,但 CLI 本身通常不会提供太多反馈。 这就是为什么在开始使用 WP-CLI 之前使用值得信赖的 WordPress 备份插件至关重要的原因。

输入命令很容易,但清除错误的命令可能是另一回事。 正如谚语所说,破坏总是比创造容易! 此时,您可能想知道为什么您甚至应该关心 WP-CLI。

许多人认为“他们甚至懒得为它制作 GUI,所以它不会太重要”。 事实上,它的强大之处在于它是基于文本的。 这使得自动化任务变得更加容易。 一旦你熟练了它,你可能会想知道为什么你没有早点切换!

WordPress 命令行解释

那么,WP-CLI 究竟是如何工作的呢? 简而言之,它是 WordPress 的支柱。 每次单击 CMS 中的任何内容时,实际上都是 WP-CLI 执行繁重的工作。 这是一个小型的多平台程序。 但是,由于绝大多数 Web 服务器都是 Linux,因此您很可能会通过 Linux 终端运行它。

从技术上讲,您可以使用 WP-CLI 在新服务器上完成整个 WordPress 安装。 您还可以创建作为命令序列的 .sh 文件。 这使您可以轻松地与 WordPress 世界的其他人分享您的作品。

WP-CLI 可以帮助管理员减少不必要的插件,这些插件可能会降低网站速度。 毕竟,绝大多数插件本质上都是一个样式表和一个带有一系列提示和命令的 .sh 文件。 稍后我们将详细讨论这些是如何工作的。

使用 WP-CLI 安装主题

当然,使用 GUI 安装主题很容易。 但是,如果时间很重要,单行命令也可以解决问题。 假设您的服务器上有一个名为“geocities”的主题。 您想将此主题应用于您刚刚创建的博客。 您需要做的就是输入此命令并按 [Enter]:

wp theme install geocitites --activate

让我们分解那条长命令。 首先,就像其他 Linux 程序一样,第一个词(“wp”)是告诉操作系统我们想要运行 WP-CLI。 由于 CLI 在分层基础上工作,因此正在执行的命令类型紧跟在程序名称之后。 当然,这个是和一个主题相关的,所以可以预见它只是“主题”。

在为名为“wp”的程序指定命令类别后,我们需要告诉它我们想要它做什么。 在这种情况下,我们需要将主题安装到服务器上。 这就是命令中的下一个单词只是“安装”的原因。 您需要知道服务器端主题名称才能运行此命令; 这是由主题的开发人员设置的。 服务器端文件名通常与主题名称相同。

您现在可能已经看到了利用这种层次结构的优势。 它大大简化了您需要做的打字量! 告诉它我们要安装哪个主题后,我们可以添加参数。 在这种情况下,我们可以将命令保留为 wp theme install geocities。 这将刚刚将主题安装到我们的服务器上。 但是,它实际上不会将该主题应用于任何事物。 “activate”参数就是这样做的。

说到参数,除非您经常使用 Linux 或 Mac,否则您可能对它们有点不放心。 在继续之前,让我们快速复习一下。

Linux 参数、参数和运算符的快速入门

在您进入 WP-CLI 的世界之前,您需要了解 Linux 终端如何解释命令和三个“操作符”。

除非您已经程序中输入,否则 Linux 要求您输入程序的“别名”。 这是存储库中“根包”的名称,在这种情况下,它只是“wp”。 请记住,与 Windows 不同,Linux 中的单词区分大小写!

程序名称后面的文本包含程序的“参数”。 这些参数可以是强制性的,也可以是可选的。 在我们的主题示例中,很明显哪些参数是强制性的:“主题”参数,因为它告诉我们程序应该查看的一般区域和“安装”参数,因为程序需要知道要采取什么操作.

Linux 经常使用简写来表示错误,这就是为什么大多数“参数”有两种表达方式。 假设某个程序有一个“帮助”参数; 在 Linux 中,这几乎普遍是命令中的“-h”。 几乎总是有论证的全文版本。 这前面有两个破折号,所以它会读作:“-help”。

最后,您应该了解一些运算符。 就像在数学课中一样,运算符显示正在执行某些操作或计算。 迄今为止最常见的三个(并且您最有可能在查看其他人的 WordPress 脚本时遇到)是左括号、右括号和管道,即符号“|”。

因为左括号显示为向右扩展,这意味着我们正在将数据从符号左侧的任何内容写入符号右侧的任何内容。 同样,当您看到右括号时,这意味着符号右侧的项目正在从其左侧的项目中读取数据。

由于其简单和高效,这种管道已经普遍使用了几十年。 所有这些都是在管道左侧运行程序,获取它输出的数据,并将该数据用作其右侧程序的输入。 例如,如果我们有 program1 | program2 我们会说我们想运行 program1,取出它吐出的任何东西,并在它执行时将它放入 program2。

如何访问我的 WordPress 命令行?

在您成为 WP-CLI 的权威之前,您需要知道如何使用它。 确切的过程将取决于您使用的托管类型。

快速搁置

几年前,我就使用 WP-CLI 运行您自己的托管 WordPress 主机进行了演讲。 我包含了该演讲中的视频和一个链接,因此您可以使用一个示例 .sh 文件来运行和安装 WordPress。

验证系统要求

出于安全原因和性能目的,您需要确保您的系统满足最低专用标准。 虽然 wp-cli.org 总是有最新的要求,但在撰写本文时,以下是要求:

  • 至少 PHP 5.6+
  • 至少 WordPress 3.7+

在专用服务器或 VPS 上访问 WP-CLI

当您租用专用服务器或 VPS 时,您将获得管理控制权。 有一定数量的资源分配给您,您通常对如何使用它们拥有完整的域。

如果您使用的是 Windows

在大多数情况下,该程序的 Windows 版本与 Mac 或 Linux 版本有很大不同。 值得庆幸的是,您可以参考官方项目站点以获取有关将其安装到 Windows 机器上的详细说明。 作为一般经验法则,您应该尽量避免在任何“面向网络”的设备上使用 Windows,因为它的严重漏洞在被利用会被发现这是众所周知的。

如果您使用的是 Linux 或 Mac

由于 Mac 是基于 Unix(Linux 的父代),因此在两者上安装 WordPress CLI 的过程本质上是相同的。 以下是您需要执行的操作:

  1. 首先,下载软件。 不同版本的 Unix 和 Linux 使用 wget 或 curl,所以如果一个在下一步中不起作用,请尝试另一个。
  2. 我们需要放入服务器私有目录中的文件名为 wp-cli.phar。 值得庆幸的是,创作者总是在同一个 GitHub URL 上拥有最新的稳定版本。 进入要下载文件的目录后,运行此命令: curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar .
  3. 现在是让程序运行的时候了。 chmod 命令更改文件的权限。 默认情况下,Unix 和 Linux 不会使下载的文件可执行,但此命令允许我们这样做。 在同一目录下,运行命令chmod +x wp-cli.phar。
  4. (抱歉,我们知道这有点麻烦)我们现在需要将其移动到主 WordPress 二进制目录中。 这是 WordPress 点击的所有小程序的所在。 mv 命令可以为我们做到这一点。 从包含文件的目录开始,运行:mv wp-cli.phar /usr/local/bin/wp。
  5. 在这一点上,一切都应该顺利进行。 有一个内置的测试机制可以让我们验证这一点。 在终端中,只需运行程序和“info”的全文参数。 这看起来像 wp –info。
  6. 确保您获得一个屏幕,其中包含有关您新安装的 WP-CLI 的多行内容。 那你就可以继续了!

在共享主机上访问 WP-CLI

不幸的是,在共享主机方面,几乎有无数的变量需要考虑。 即使您被允许使用的 PHP 版本最终也取决于服务器的管理员。 如果它碰巧是基于 Windows 的共享主机,则需要设计某种方法来安装它。

如果它在 Linux 或 Mac 服务器上,则归结为您拥有的访问权限类型。 许多共享主机都有一个您可以使用的“虚拟终端”。 这是实际操作系统级终端的受限版本。 它允许您执行管理员认为不会对其他用户构成威胁的命令。 如果是这种情况,只需查看上面的部分并在您的虚拟终端中执行这些步骤。

您也可以访问安装程序。 大多数主机使用 cPanel 之类的东西为数百个不同的系统附加安装程序。 这个想法是,这将导致更少的支持票,这将帮助他们更有效地运营。 如果您发现 CLI 可通过基于 GUI 主机的安装程序进行安装,那么这是您的最佳选择。

最后,如果它是 Linux 或 Mac 服务器,则没有明显的选项来安装此软件。 只需向您的主机提供支持票,并要求将其添加到应用程序列表中。 主持人通常希望迎合尽可能多的观众,因此这将是双赢的。

WP-CLI 命令

我们已经讨论了很多关于如何启动和运行程序的问题,但我们很少讨论如何有效地使用它。 如果您有编程经验,这是一个类似的过程。 当您完成教程并学习更多命令和快捷方式时,您将自动记住对您个人而言最重要的那些。

请记住,要在现实世界中使用,在使用服务器之前,您始终需要安装一个不错的 WordPress 安全插件。 您最不希望发生的事情是您的数据被泄露,因为您错误地输入了一个按键并且除了重新开始之外没有办法修复它!

虽然可以一次输入单个命令,但这是一种非常低效的方法。 使用一系列 WordPress 命令创建 .sh 文件要好得多; 这就是您如何在几秒钟内完成在 GUI 中可能需要 30 分钟完成的工作。

在我们将很快完成的教程中,我们将从头开始制作一个脚本,用于制作全新的 WordPress 服务器,包括预定义的配置。 不幸的是,我们可能会花一整年的时间来研究最后一个命令及其工作原理。 由于其庞大的用户群,WP-CLI 有相当不错的文档。

具体来说,他们有一本手册。 这是一份冗长的文件,需要耐心。 但是,它几乎涵盖了每个命令、它的作用、重要性等等。 该出版物还介绍了如何组合各种命令来创建自己的脚本。

从那里,可能性是无限的。

更新 WP-CLI

想要获取最新版本的 WordPress CLI? 这是一个好主意,因为您永远不知道恶意安全研究人员何时在旧版本中发现了漏洞!

当您更新软件时,它会根据 WordPress 发布的版本检查您的当前版本。 与许多 Linux 应用程序不同,开发人员创建了一个非常简单的单行程序,您可以在终端中输入以确保您运行的是最新版本。 最重要的是,它不会干扰您当前的网站。

请记住,这种“简单更新”方法只有在您通过获取我们之前提到的 wp-cli.phar 文件进行安装时才有效。 一些教程引用了替代安装方法,例如使用 Docker 等。如果您是这样安装它的,您将需要跳过我们在此页面上无法容纳的更多圈子来更新。

以下是在一分钟内更新的步骤:

  1. 打开您最初安装软件时使用的终端。
  2. 确定您愿意接受的风险级别。 “每晚”版本将拥有所有最新功能,但它可能不稳定。 我们建议获取“稳定”版本。
  3. 输入命令 wp cli update。 默认情况下,这将获取最新的稳定版本。
  4. 如果您正在寻找夜间构建,只需运行命令 wp cli update –nightly。

有很多方法可以使更新过程成为您自己的。 例如,如果您不想查看确认对话框,则不必这样做。 您只需要添加 –yes 参数来强制回答“是”到每个对话框。

无论您是否刚刚开始,查看完整的参数页面并在测试服务器上进行修补都是一个好主意。

WP-CLI 教程

既然我们已经介绍了先决条件,让我们试一试 WordPress CLI! WordPress 管理员的一项常见任务是创建新站点。 通过 GUI 向导是一种选择,但最简单的方法是使用 WP-CLI。

想象一下,您需要使用几乎相同的设置创建十个不同的博客。 当然,如果您想在任务上花费数小时,您可以手动执行此操作。 您还可以创建一个可重用的脚本,然后为每个站点简单地运行它! 我们将制作我们自己的 CLI 脚本。 我们建议您输入每个命令,而不是复制和粘贴。 确保将其放在 .sh 文件中,以便以后可以轻松运行。

  1. 打开您最喜欢的原始文本编辑器。 不建议将 Windows 上的记事本用于此目的。 您可以尝试的两个很棒的工具是 GitHub 的 Atom 和开源的 Notepad++。 两者都是多平台的。
  2. 将文件保存为具有“.sh”扩展名的任何名称。 例如,top-wordpress-dev-in-the-world.sh 可以工作。
  3. 在我们输入任何内容之前,您应该打开完整的命令列表。 随意偏离我们的脚本,在进行过程中制作自己的自定义脚本。
  4. 前几行使用核心类别。 首先,我们需要下载 wp core 来获取最新版本。
  5. 接下来,我们需要输入我们的数据库凭据。 当然,你需要使用更安全的,但这里有一个例子: wp core config –dbname=customdbname –dbuser=admin –dbpass=password –dbhost=localhost –dbprefix=customprefix_ –extra-php‹‹PHP
  6. 在该行中,我们实际上创建了一个包含所有数据的 wp-config 文件。 –extra-php ‹‹PHP 是最终确定该文件的内容。
  7. 那个‹‹PHP 还允许我们放入一些PHP 变量。如果我们希望以后有日志进行调试,我们将需要这些变量。 添加这一行:define('WP_DEBUG', true);,后跟define('WP_DEBUG_LOG', true);。 在下一行,只需放置 PHP 以表明我们已完成手动编写 PHP 代码。
  8. 我们确实制作了 wp-config.php,但是还需要添加一行来激活我们的数据库:wp db create。
  9. 剩下的唯一一行是完成整个 WordPress 安装的那一行! wp core install –url=http://yoursite.com –title=MainWPTitle –admin_user=username –admin_password=password –[email protected] 当然,您需要更改其中一些参数值。 除此之外,我们刚刚制作了一个脚本来生成新的 WordPress 网站!

使用 WP-CLI 和插件

插件管理可能不是你最喜欢的东西,但它是必要的。 我们可以使用 CLI 使插件管理变得更加容易和快捷。

到目前为止,最有用的功能是批量插件安装。 您首先需要收集要安装的插件的名称。 这些可以在官方 WordPress URL 中找到。 假设您想要 jetpack 插件。 因为此的官方商店 URL 是 https://wordpress.org/plugins/jetpack/,我们取该 URL 的最后一部分 (jetpack)。

命令 wp plugin install 可以使用无限数量的插件名称。 这意味着您可以在几秒钟内获取 10 个插件,而无需手动搜索和安装每个插件!