В рамках своего плана по отказу от слишком навязчивых администраторских уведомлений, команда WordPress Theme Review Team представила публике новый пакет Admin Notices в версии 1.0. Новый пакет предлагает стандартный API для вывода администраторских уведомлений в темах. Он подойдет всем разработчикам тем.
В августе руководителем проекта по пакетам стал Ари Стэтхопулос. Ари выступает в качестве создателя фреймворка Kirki, который в данный момент имеет более 300 000 активных установок в виде плагина. Фреймворк также доступен в виде отдельных модулей, которые разработчики могут поставлять вместе со своими темами.
Admin Notices – это уже третий пакет, созданный командой. Добавить базовое администраторское уведомление относительно просто для большинства разработчиков. Однако обработка таких функций, как запрещаемые на постоянной основе действия, требует больших усилий. Пакет Admin Notices решает эту проблему «из коробки».
Вот лишь некоторые опции, которые включает в себя пакет:
- Установка заголовка и сообщения.
- Выбор типа, который будет добавлен в соответствующий класс UI (info, success, warning, error).
- Выбор страниц, на которых будет появляться администраторское уведомление.
- Ограничение вывода сообщения только для определенных групп пользователей.
На скриншоте выше продемонстрирован вывод базовых уведомлений для 4 доступных типов. Отклонение уведомлений обрабатывается через JS и не требует перезагрузки страницы. После отклонения пользователи больше не увидят данное уведомление.
«Думаю, главная проблема для нас – понять, насколько жестко нам необходимо урезать администраторские уведомления», – отметил Ари, рассказывая про трудности, связанные с данным пакетом. В версии 1.0 пакета авторы могут пользоваться абзацами, ссылками, жирным и курсивным начертанием в уведомлениях. Главная цель пакета – стандартизация уведомлений. Чем больше инструментов будет разрешено, тем больше вероятность того, что уведомления по-прежнему будут раздражать и мешать.
Пользовательские уведомления – сложная задача
В WordPress нет формального API для вывода пользовательских уведомлений. Однако в WP есть набор стандартный набор CSS-классов, а также хук для прикрепления уведомлений. В кодексе содержится несколько примеров лучших практик в этом направлении. Отсутствие формального API привело к тому, что авторы тем по-разному выводили уведомления. Пользователи в итоге могли видеть самые разные панели и окна, в том числе и в формате постоянно появляющейся рекламы.
Тим Хенгевельд предложил свое видение Notification Center API еще в 2018 году. Тикет содержит активные обсуждения и некоторые предложения по UI. Данное предложение пока еще висит как «Awaiting Review» («Ожидает рассмотрения»), и в лучше случае оно будет поставляться в версии WordPress 5.4 (или позже).
В настоящий момент многие темы и плагины используют администраторские уведомления для пользовательского онбординга (адаптации пользователей при работе с новым продуктом), что тоже является отдельной проблемой. Есть тикет 4-летней давности, в котором обсуждался онбординг для новых пользователей WordPress, однако вопрос, связанный с темами и плагинами, практически не рассматривался.
И хотя новый пакет не решает все проблемы, связанные с пользовательскими уведомлениями, он помогает справиться с некоторыми краткосрочными трудностями.
Другие пакеты находятся в разработке
В настоящее время на стадии планирования и разработки находятся и другие пакеты.
Цель всего проекта – предложить авторам тем дропин-модули, которые можно было бы поставлять вместе с темами. Все пакеты написаны на PHP 5.6+, чтобы подтолкнуть авторов тем к переходу на более современные стандарты кодирования (более современные – условное понятие, поскольку в этом году уже выйдет PHP 7.4). Это также поможет оптимизировать процесс обзора тем.
«Если мы предложим пакеты для самых востребованных опций, то людям будет проще создавать качественные темы», – понадеялся Ари. – «Пакеты – это строительные блоки тем».
Ари работает над опцией кастомайзера по выбору цвета с альфа-прозрачностью. Эта опция позволит пользователям тем лучше подгонять цвета.
«После создания всех основ я хочу сконцентрироваться на пакетах, которые позволят повысить доступность и приватность в темах – это те две области, в которых темы обычно не слишком сильны», – рассказал Ари. – «Это помогло бы многим людям, и это наша цель».
Авторы тем в последние годы привыкли устанавливать JavaScript- и CSS-пакеты через NPM. При этом использование Composer в качестве менеджера PHP-зависимостей несколько отстает. В какой-то степени это может быть связано с длительным отказом от повышения минимальной версии PHP для WordPress. Многие пакеты, доступные в Packagist, главном репозитории Composer, не работают со старыми версиями PHP. Недавний переход WordPress на PHP 5.6+ и планы по переходу на 7+ в будущем подтолкнут авторов тем к принятию менеджера зависимостей PHP.
Команда обзора тем WordPress имеет свой аккаунт Packagist – все представленные пакеты устанавливаются через Composer.
Требования по использованию пакетов пока нет
В настоящее время команда обзора тем не планирует делать использование пакетов обязательным для каких-либо опций, хотя такие предложения поступали.
«Есть веские причины для обязательного использования этих пакетов, однако такой переход не может произойти в одночасье», – рассказал Ари. – «Мы хотим, чтобы темы в хранилище работали по некоторым стандартам. Качество кода должно улучшаться. Эти пакеты – способ облегчить жизнь людям и сэкономить время для всех».
Ари открыт для предложений по улучшению текущих пакетов. Как сказал Ари, «лучше всего обсуждать все идеи в репозиториях пакетов и отправлять pull request’ы, чтобы все сообщество могло извлечь выгоду из этого».
Вовлечение авторов тем в данные процессы – задача, над которой работает команда. Улучшение пакетов может принести пользу всему сообществу. «Большинство людей даже не знают про эти пакеты, поскольку они нигде не перечислены», – резонно заметил Ари. – «В настоящее время авторам тем приходится искать их, а чтобы начать их искать, кто-то должен авторам сказать, что такие пакеты вообще существуют (чего не происходит)». Следующий шаг для команды – перечисление всех пакетов в документации Команды анализа тем.
Совместная работа над популярными возможностями тем позволит связать авторов тем и участников команды Theme Review Team, что ускорит решение проблем.
Источник: wptavern.com