Создание пользовательского плагина

Если вы хотите создавать свои плагины, в WP-CLI есть мощная команда scaffold, которая позволяет нам генерировать начальный код. В этом руководстве мы рассмотрим, как сгенерировать начальный код для обычного плагина.

Шаг 1. Подготовка файлов плагина через scaffold

Приведенная ниже команда использует несколько опций, позволяющих нам указать 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 plugin files.
    Success: Created test files.

Приведенная выше команда создает новую папку wpcli-demo-plugin в каталоге plugins со следующей структурой файлов.

| - 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 (рус. — Ваш код начинается здесь) добавьте следующее:

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

Шаг 4. Активация плагина

Теперь вы можете использовать две команды wp-cli для проверки списка плагинов и активации только что созданного плагина: wp plugin list и wp 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 и начать использовать наш пользовательский тип поста books (рус. — книги).

Была ли эта страница полезной?