Задача: Создай WordPress-плагин с названием «Documentation» (или «Документация») для создания иерархической документации на сайте. Плагин должен быть готов к публикации в официальном репозитории WordPress.org.
Полные требования к плагину:
1. Структура плагина (стандартная для WordPress):
-
Плагин должен быть организован по модульному принципу
-
Все файлы должны лежать в папке с названием плагина
-
Главный файл плагина должен содержать все необходимые заголовки (Plugin Name, Version, Author, License и т.д.)
-
Использовать стандартные префиксы для всех функций (например,
wp_doc_илиdoc_)
2. Тип записи (Custom Post Type):
-
Зарегистрировать тип записи «Документация» (или «Documentation»)
-
Поддержка иерархии (родительские/дочерние страницы)
-
Поддержка Gutenberg
-
Поля: заголовок, контент, родительская страница, порядок сортировки
-
Использовать стандартные лейблы WordPress
3. Административная панель:
-
Главное меню «Документация» в админ-панели WordPress
-
Подменю: «Все документы», «Добавить новый», «Настройки», «Справка»
-
Стандартный интерфейс WordPress (таблицы, колонки)
-
Дополнительные колонки: «Порядок», «Родитель»
-
Сортировка по порядку и дате
4. Фронтенд-часть:
-
Страница
/docs/— главная документации с древовидным меню слева и контентом справа -
Меню должно быть адаптивным (с гамбургером на мобильных)
-
Поддержка вложенной структуры (родительские/дочерние страницы)
-
Хлебные крошки (breadcrumbs)
-
В конце каждой статьи — блок «Была ли эта статья полезной?» с кнопками «Да»/«Нет»
-
Блок голосования должен сохранять результаты в метаданных поста
-
Пользователь может проголосовать только один раз
5. Система обновлений (опционально):
-
Плагин должен поддерживать автоматические обновления через собственный сервер (если пользователь укажет URL)
-
Использовать библиотеку plugin-update-checker от Yahnis Elsts
-
По умолчанию обновления идут из официального репозитория WordPress.org
6. Дизайн и стили:
-
Использовать нативные стили WordPress (dashicons)
-
Минималистичный дизайн, совместимый с любой темой
-
Адаптивность под все устройства
-
Стандартные отступы и цвета WordPress
7. Дополнительные функции:
-
Дата последнего обновления статьи
-
Статистика полезности в админке
-
Шорткод для вывода документации в любом месте
-
Виджет для вывода списка документов
8. Безопасность и стандарты:
-
Проверка прав доступа (capabilities)
-
Экранирование всех выводов (esc_html, esc_attr)
-
Санитизация всех входных данных
-
Nonce-проверки для всех форм
-
Поддержка переводов (русский, английский)
Стандартная структура плагина:
documentation/
├── documentation.php # Главный файл плагина
├── uninstall.php # Файл удаления данных
├── readme.txt # Стандартный readme для WordPress.org
├── languages/ # Переводы
│ ├── documentation-ru_RU.po
│ ├── documentation-ru_RU.mo
│ └── documentation.pot
├── includes/
│ ├── class-documentation.php # Основной класс плагина
│ ├── class-post-type.php # Регистрация типа записи
│ ├── class-admin.php # Административная часть
│ ├── class-frontend.php # Фронтенд-часть
│ ├── class-feedback.php # Обратная связь (голосование)
│ ├── class-updater.php # Система обновлений
│ └── functions.php # Вспомогательные функции
├── templates/
│ └── page-documentation.php # Шаблон страницы документации
├── assets/
│ ├── css/
│ │ └── frontend.css # Стили фронтенда
│ └── js/
│ └── frontend.js # Скрипты фронтенда
└── vendor/ # Сторонние библиотеки
└── plugin-update-checker/ Требования к коду:
-
Весь код должен быть на PHP 7.4+
-
Использовать ООП (классы и объекты)
-
Все данные должны экранироваться и санитизироваться
-
Использовать переводы (__(), _e(), _n())
-
Следовать стандартам кодирования WordPress
-
Код должен быть документирован (PHPDoc)
Инструкция для пользователя после создания плагина:
-
Создай все файлы и папки по указанной структуре
-
Упакуй папку плагина в ZIP-архив
-
Установи плагин через админку WordPress (Плагины → Добавить новый → Загрузить плагин)
-
Активируй плагин
-
После активации в меню появится раздел «Документация»
-
Начни создавать документацию
-
Используй шорткод
[documentation]для вывода документации в любом месте
Примеры использования:
Шорткод для вывода документации:
[documentation parent="0" orderby="menu_order" order="ASC"]
Виджет для вывода списка документов:
-
Добавьте виджет «Документация» в любую область виджетов
-
Настройте отображение (заголовок, количество, сортировка)
Шаблонный тег для вывода меню документации:
if (function_exists('documentation_menu')) { documentation_menu(); }
Тон общения: Профессиональный, чёткий, структурированный. Ты даёшь готовые, рабочие файлы с полным кодом, а не просто описания. Все файлы должны быть полностью готовы к использованию без доработок. Используй стандартные PHP-шаблоны и паттерны WordPress.
ВАЖНО: Используй префикс doc_ для всех функций и Documentation_ для классов, чтобы избежать конфликтов с другими плагинами. Все названия должны быть на английском, но с поддержкой переводов на русский.
НАЧНИ СОЗДАВАТЬ ПЛАГИН С ФАЙЛА documentation.php И ДАЛЕЕ ПО ПОРЯДКУ, ДАВАЯ ПОЛНЫЙ КОД КАЖДОГО ФАЙЛА.
Стандартные настройки по умолчанию:
-
Название плагина: Documentation (Документация)
-
Префикс функций:
doc_ -
Префикс классов:
Documentation_ -
Slug типа записи:
documentation -
URL страницы:
/docs/ -
Цветовая схема: стандартная WordPress
-
Поддержка переводов: русский, английский
Чтобы обсудить промт, необходимо авторизоваться.
Пока нет комментариев. Будьте первым!