В прошлой статье мы рассмотрели, как Действия и Фильтры могут быть добавлены в ваши плагины WordPress, чтобы сделать их удобными для разработчиков.
Сегодня мы рассмотрим, как предоставить документацию для разработчиков.
Документирование ваших действий и фильтров
Полезно задокументировать действия и фильтры вашего плагина WordPress, чтобы разработчики могли быстро найти то, что им нужно, а также понять, что делает каждое действие и фильтр.
Комментирование кода
Как разработчики, мы вполне можем просматривать чужой код, чтобы понять, как что-то работает. Добавление комментариев DocBlock к нашим действиям и фильтрам — отличный способ объяснить, что делает конкретный вызов:
/**
* Helper method to retrieve schedule options
*
* @since 3.0
*
* @return array Schedule Options
*/
static public function get_schedule_options() {
// Build schedule options
$schedule = array(
'queue_bottom' => __( 'Add to End of Buffer Queue', 'wp-to-buffer-pro' ),
'queue_top' => __( 'Add to Start of Buffer Queue', 'wp-to-buffer-pro' ),
'now' => __( 'Post Immediately', 'wp-to-buffer-pro' ),
'custom' => __( 'Custom Time', 'wp-to-buffer-pro' ),
);
/**
* Returns filtered schedule options
*
* @since 3.0
*
* @param array $schedule Schedule Options
* @return array Filtered Schedule Options
*/
return apply_filters( 'wp_to_buffer_pro_get_schedule_options', $schedule );
}
Для более сложных действий и фильтров, которые являются частью более крупного вызова функции, это действительно полезно, поскольку может быстро объяснить передаваемые переменные:
/**
* Returns an image link if the original source cannot be found.
*
* @since 1.0.0
*
* @param string $item['link'] Image Link
* @param int $id Image Attachment ID
* @param array $item Image Data
* @param array $data Gallery Data
* @return string Image Link
*/
return apply_filters( 'envira_gallery_no_image_src', $item['link'], $id, $item, $data );
Онлайн документация
Наличие единой точки отсчета для всех действий и вызовов фильтров поможет разработчикам быстро найти то, что им нужно. Мы можем скопировать и вставить каждый apply_filters
do_action
Однако, если действия и фильтры вашего плагина распределены по нескольким файлам, потребуется время, чтобы объединить все это в один документ. Нам также придется вручную повторить этот процесс, если мы когда-нибудь добавим новые действия или фильтры.
К счастью, есть плагины WordPress, которые могут помочь автоматизировать этот процесс. В частности, плагин Extract Filters and Actions позволяет нам выбрать установленный плагин WordPress и создавать HTML-таблицы действий и фильтров. Затем они могут быть скопированы в онлайн-документацию.
Для настройки Extract Filters and Actions вам понадобится установка WordPress, которая также содержит плагин, из которого вы хотите прочитать действия и фильтры.
В области администрирования WordPress перейдите к «Плагины»> «Добавить новый» и выполните поиск «Извлечь фильтры и действия». Затем нажмите « Установить сейчас» для плагина « Извлечение фильтров и действий из плагинов» :
После установки активируйте плагин и начните использовать его, перейдя в «Плагины»> «Извлечь фильтры и действия»:
Есть несколько параметров для настройки перед генерацией документации:
- Плагин: плагин WordPress для создания документации.
- Префикс: если ваши действия и фильтры имеют префикс определенного имени (рекомендуется), вы можете ввести его здесь.
- Включить фильтры. Чтобы включить фильтры в создаваемую документацию, установите этот флажок
- Включить действия. Чтобы включить действия в создаваемую документацию, установите этот флажок.
- Формат: выберите формат для вывода документации. Давайте выберем HTML.
- Классы CSS для таблиц. Для таблиц HTML можно дополнительно указать классы CSS для этой таблицы.
- Разбивка по файлам. Установите этот флажок, если хотите отображать действия и фильтры по файлам вместо длинного списка.
Нажмите кнопку « Извлечь» , и если все работает, вы увидите вывод HTML с возможностью скопировать его в онлайн-документацию:
Для онлайн-примера этого в действии см. Http://enviragallery.com/docs/social-addon/#envira-doc5.
Программная документация
Помимо документации по действиям и фильтрам, полезно также предоставлять программную документацию пользователям и разработчикам, которые хотят работать с настройками в вашем плагине WordPress.
Например, в Envira Gallery мы сохраняем конфигурации в виде метаданных Post в массиве и предоставляем пользовательский интерфейс в администрировании WordPress, позволяющий пользователям редактировать конфигурацию для каждой отдельной галереи.
Однако пользователи и разработчики могут также указывать имена и значения ключей конфигурации через шорткоды и теги шаблонов для переопределения конфигураций галереи.
Обычно мы получаем 4-5 запросов в день, спрашивающих, какие значения конфигурационных ключей использовать для достижения определенного результата. В то время как наша документация объясняла, что каждый параметр конфигурации делал в пользовательском интерфейсе администрирования WordPress, она не объясняла, какие были названия программных ключей и какие значения они могут принимать.
Обновив нашу документацию, включив в нее программные ключи и принятые значения, нам удалось сократить количество запросов на поддержку по этим вопросам на 80%:
Как авторы плагинов WordPress, это означает, что мы можем сосредоточиться на создании наших продуктов, в то время как пользователи и разработчики могут получить немедленные ответы на вопросы, ссылаясь на онлайн-документацию. Также полезно, чтобы эта документация обновлялась как авторы плагинов, поскольку она предоставляет нам быстрый и удобный справочник!
Вывод
Мы узнали, как использовать комментарии DocBlock для наших действий и фильтров, а также автоматически создавать HTML-список действий и фильтров для нашей онлайн-документации. Наконец, мы рассмотрели, как сделать нашу существующую онлайн-документацию более полезной для разработчиков, не теряя при этом простоты, необходимой для нетехнических пользователей.