如何使用WP-CLI从命令行管理您的WordPress站点

WordPress是一个流行的CMS和博客软件,可用于快速部署网站。在本指南中,我们将演示如何使用名为wp-cli的工具从命令行控制WordPress安装。

介绍


WordPress是一个非常流行的博客和内容管理系统(CMS)使用的数以百万计的网站。它可以用于轻松地在Web上组织,管理和创建内容,并处理与访问者和贡献者的交互。 虽然大多数人使用WordPress的图形界面,但有能力从命令行控制软件有好处。 所谓的工具wp-cli正好提供了这个功能。 这有助于脚本,并允许您从一个地方管理网站的所有方面,从配置文件和数据库管理到发布,主题,上传媒体和批准评论。 在本指南中,我们将使用wp-cli接口来管理我们的WordPress安装。

如何安装WP-CLI


本指南假设您已使用来自Droplet创建页面的WordPress应用程序映像创建了VPS。 当您完成部署您的Droplet,SSH作为root用户到服务器:
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
这将安装一些工具,使软件功能正常。 接下来,我们将创建一个.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`.
可以通过将您的IP地址或域名在Web浏览器,并填写看起来像这样一种形式初始化网站: WordPress安装页面 然而,由于这是一个如何使用wp-cli的指南,我们将在一个命令中填写所有这些信息。我们通过做核心安装来做到这一点。 我们必须将参数所有在该页面上要求的字段作为参数传递。这是以下面的一般格式:
--parameter="value"
我们需要定义的参数是:
  • 网址 :将用于访问您的网站的域名。如果您没有域名,则可以使用您的IP地址
  • 标题 :您的网站的标题
  • 管理员用户名 :说出您将使用登录并执行管理职能的网站
  • ADMIN_PASSWORD:admin用户关联的密码
  • ADMIN_EMAIL:电子邮件地址,你想在站点问题联络
我们在之后添加这些core命令和install命令。在一起,这给了我们一个命令,看起来像这样:
wp core install --url="your_domain_name"  --title="Your Blog Title" --admin_user="admin" --admin_password="your_password" --admin_email="your_email"
此过程可能需要一些时间才能配置所有必需的组件。完成后,您应该看到一行说:
Success: WordPress installed successfully.
如果我们在浏览器中访问我们的网站,我们应该看到默认的WordPress网站: 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后跟一个空格,然后按标签几次看到可用的子命令:
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.
. . .
正如你所看到的,每个子命令都有自己的子命令。帮助系统在命令结构的整个过程中运行:
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个主题,声称是花哨。 “大胆的头条”看起来很刺激,有一个很好的评级。让我们得到一个。使用字符串中的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
现在,如果我们访问我们的网站,我们可以看到,我们的新主题已应用: WordPress新主题 这看起来不错!

如何使用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
我们可以通过访问我们的一个帖子看到结果: WordPress插件演示

如何使用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..."
您可以访问您的博客,以查看您的新内容: WordPress编辑的帖子 我们可以通过键入以下内容添加一个全新的帖子:
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
现在,我们的帖子应该在我们的内容旁边列出一个作者“admin”。 我们可以通过键入以下内容来优化我们的数据库:
wp db optimize

如何使用WP-CLI更新WordPress


我们可以通过执行以下过程来保持WordPress的最新版本:
wp core update
wp core update-db
更重要的是,我们可以更新我们的插件,这在WordPress安全中有一个弱链接,通过键入:
wp plugin update --all

结论


你现在应该有一个很好的处理如何通过命令行完成WordPress中的任务。这不仅是为不同客户端管理多个站点的快速和简单的方法,它还提供了非常好的脚本功能,轻松地完成非常复杂的任务。 通过有效地使用wp-cli,您将不再需要在进行Web界面中可能无法提供的更改时,在Web浏览器和终端窗口之间不断切换。
作者:Justin Ellingwood