如何创建自定义插件
如果您想创建插件,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管理面板并 开始使用我们的书籍自定义帖子类型。