如何创建自定义插件

如果您想创建插件,WP-CLI 有一个强大的脚手架命令,允许我们生成起始代码。在本指南中,我们将看到如何为基本插件生成起始代码。

第 1 步 – 搭建插件文件的脚手架

以下命令使用多个选项来让我们指定插件 slug、它的名称、描述、作者名称和 uri 以及插件 uri。您可以替换传递给以下选项的值,以根据需要自定义插件。

$ wp scaffold plugin wpcli-demo-plugin --plugin_name="WP-CLI Demo Plugin" --plugin_description="This is a wp-cli demo plugin" --plugin_author=wp-cli --plugin_author_uri="https://wp-cli.org" --plugin_uri="https://plugins.wp-cli.org/demo-plugin"
Success: Created test files.

上面的命令生成一个在插件目录中调用的新文件夹,具有以下文件结构。wpcli-demo-plugin

| - bin/
| - tests/
| - .gitignore
| - .editorconfig
| - .phpcs.xml.dist
| - .travis.yml
| - Gruntfile.js
| - package.json
| - phpunit.xml.dist
| - readme.txt
| - wpcli-demo-plugin.php

除非使用 –skip-tests 标志,否则始终会生成以下文件:

  • phpunit.xml.dist是 PHPUnit 的配置文件。
  • .travis.yml是 Travis CI 的配置文件。用于选择其他服务。--ci=<provider>
  • bin/install-wp-tests.sh配置 WordPress 测试套件和测试数据库。
  • tests/bootstrap.php是在运行测试套件时使当前插件处于活动状态的文件。
  • tests/test-sample.php是包含测试用例的示例文件。
  • .phpcs.xml.dist是PHP_CodeSniffer规则的集合

第 2 步 – 创建自定义帖子类型

现在,我们可以再次使用 scaffold 命令,使用该命令在新插件中添加自定义帖子类型。wp scaffold post-type

$ wp scaffold post-type books --label=Book --textdomain=wpcli-demo-plugin --dashicon=dashicons-book-alt --plugin=wpcli-demo-plugin
Success: Created '/wpcli-demo-plugin/post-types/books.php'.

第 3 步 – 在主文件中编写代码

主插件文件是我们可以用来编写插件逻辑的起点。wpcli-demo-plugin.php

在主插件文件中,现在让我们引用我们刚刚创建的新帖子类型。

在您喜欢的文本编辑器中打开该文件 ,然后在“您的代码从这里开始”的行下添加以下内容:wpcli-demo-plugin.php

// Your code starts here.
require('post-types/books.php');

第 4 步 – 激活插件

您现在可以使用两个 wp-cli 命令来检查插件列表并激活新创建的插件。 和。第一个命令列出所有已安装的 plguins,而第二个 命令激活给定的插件。wp plugin listwp plugin activate

$ wp plugin list
+-------------------+----------+-----------+---------+
| name              | status   | update    | version |
+-------------------+----------+-----------+---------+
| akismet           | inactive | available | 4.1.5   |
| hello             | inactive | none      | 1.7.2   |
| wpcli-demo-plugin | inactive | none      | 0.1.0   |
+-------------------+----------+-----------+---------+

从上面的列表中,我们可以看到我们的插件 wpcli-demo-plugin 处于非活动状态。让我们使用另一个命令启用它。

$ wp plugin activate wpcli-demo-plugin
Plugin 'wpcli-demo-plugin' activated.
Success: Activated 1 of 1 plugins.

我们的插件现在处于活动状态。我们可以访问WordPress管理面板并 开始使用我们的书籍自定义帖子类型。