介绍
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浏览器,并填写看起来像这样一种形式初始化网站:
然而,由于这是一个如何使用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网站:
如何使用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
现在,如果我们访问我们的网站,我们可以看到,我们的新主题已应用:
这看起来不错!
如何使用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
现在,我们的帖子应该在我们的内容旁边列出一个作者“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