Плагин для тестового задания компании Sputnik
Для вымышленного магазина комиксов на WooCommerce требуется разработать плагин для Wordpress, реализующий следующие функциональные возможности:
Панель администрирования
Структура
- Создает новую сущность PublishingHouse со следующими полями: Название; Город (выпадающее меню с предустановленными вариантами); Логотип (изображение Media)
- Для каждого комикса (Product) в магазине можно выбрать один и только один PublishingHouse
- В разделе товаров для каждого комикса необходимо показывать его PublishingHouse
- В разделе Publishing Houses для каждой сущности требуется показывать количество связанных комиксов
Права пользователей
- При активации плагина должна создаваться новая capability "publishing_house"
- Новая capability должна быть добавлена роли administrator
- Видеть раздел publishing houses может только пользователь с ролью, содержащую новую capability
Публичная часть
- на странице /publishing_houses выводить список всех сущеностей с их логотипами
- при переходе на страницу отдельного publishing_house выводить все связанные с ним комиксы
Замечания и комментарии
- Код плагина должен располагаться в публичном репозитории и иметь возможность быть установленным через GitHub Updater
- Код должен быть разделен по файлам на функциональные части для удобства чтения
- Код должен быть обернут в класс и иметь статичные медоты для связи с wordpress
Ссылка на репозиторий: https://github.com/Mapteg34/sputnik/
Код плагина обернут в класс, но вместо статичных методов использованы вызовы к объекту класса