В среду 2 сентября вышел Gutenberg 8.9 с набором новых функций, улучшений, а также с несколькими баг-фиксами. Команда разработчиков решила вывести систему блочных виджетов из экспериментальной фазы, сделав ее базовой для всех пользователей плагина.
Блочные виджеты дорабатывались в течение нескольких месяцев. Команда разработчиков предложила именно то, что я ждал, перенеся мощь блоков в систему сайдбаров/виджетов. В целом данная система исправно работает. Однако у команды пока еще довольно много задач, ведь нужно придать этому функционалу должную форму, чтобы он вошел в WordPress 5.6 в декабре. Важно, чтобы сообщество активно протестировало его, предложило обратную связь и по возможности внесло свой вклад.
Пользователи плагина Gutenberg, которые еще не включали блочные виджеты на странице с экспериментальными опциями в прошлых релизах, будут приятно удивлены. Опыт взаимодействия сильно отличается от привычного нам в стандартных виджетах.
Мы должны ответить на два вопроса: можно ли использовать этот функционал уже сейчас и можно ли его внедрять в WordPress 5.6.
Новая страница виджетов
В Gutenberg полностью изменена старая страница Appearance > Widgets (Внешний вид – Виджеты) в админке WordPress. Плагин больше не позволяет отключать новый вид, что было в прошлых версиях. Пользователи должны научиться создавать свои сайдбары из блоков вместо традиционных виджетов.
В плане юзабилити новая страница виджетов достаточно удобна. Добавление блоков мало чем отличается от работы со страницей редактирования записей. Если пользователи привыкли к редактору блоков, то у них не возникнет проблем.
Однако, в отличие от виджетов, блоки нельзя сворачивать (при этом сами сайдбары можно). Мне лично это показалось не слишком удобным. Потребуется некоторое время для адаптации к такому подходу.
Старые виджеты ядра работали хорошо. Однако старые виджеты от сторонних плагинов почему-то не работали. Иногда они просто исчезали из редактора. Потом они случайным образом возникали вновь. В конце концов во время тестирования я просто сломал всю страницу, и на ней уже ничего не выводилось. К счастью, мне удалось это исправить, удалив из базы данных несколько строк, связанных с виджетами.
Как разработчик, я хотел бы, чтобы старая система виджетов просто стала частью истории. Однако такой резкий отказ может отпугнуть многих пользователей. Мы должны пока поддерживать виджеты и готовить пользователей к постепенному переходу к новой системе блоков.
Блочные виджеты в кастомайзере
Если страница виджетов в админке выглядела достаточно понятной и цельной, то с кастомайзером все обстоит несколько иначе.
Теперь я наконец-то понял все прежние жалобы пользователей на слишком узкую панель управления кастомайзером. Блочный тулбар является слишком широким, а потому его часть скрывается за пределами экрана. В итоге пользователи не могут получить доступ к некоторым кнопкам в определенных блоках.
И это далеко не все проблемы. Опции блоков недоступны, потому пользователи не могут добавить даже что-то настолько простое, как ALT для изображений. Блоки старых виджетов нельзя редактировать. Всплывающее окно «more options» имеет прозрачный фон, что делает текст нечитаемым.
Я понимаю, что WordPress пока еще далек от внедрения блочных виджетов в кастомайзер, однако работать сейчас с этим функционалом практически невозможно. Он все еще находится в экспериментальном состоянии, и, вероятно, должен быть скрыт в течение нескольких релизов плагина. Я не могу рекомендовать его к использованию в продакшне. Старайтесь обращаться только к странице виджетов в админке.
Проблемы стилизации виджетов/блоков для разработчиков тем
Одно из существенных изменений, о котором должны знать разработчики тем, состоит в том, что блоки в сайдбарах не имеют типичных для виджетов HTML-оболочек. Это может вызвать проблемы со стилизацией виджетов традиционным способом. К примеру, темы обычно регистрируют элемент оболочки виджетов и оболочку для заголовка виджета. Это позволяет разработчикам тем создавать согласованные стили для каждого виджета. С блоками все становится намного сложнее. Создатель темы теряет контроль над ней – этот контроль ложится на пользователя.
Плюс подхода заключается в том, что пользователи обладают гибкостью в стилизации сайдбаров. Минус – если разработчик темы имеет сложные стили (дизайн в виде боксов), то в таком случае «из коробки» получить ничего не выйдет. У разработчика тем не будет стандартного класса для обращения через CSS, что обычно требуется для создания виджетов в едином стиле.
Нельзя сказать, что это однозначно плохо или однозначно хорошо. Это просто другой подход.
С учетом сказанного, я бы предпочел, чтобы команда разработчиков Gutenberg сделала бы новую систему, отделенную от старой системы с сайдбарами и виджетами. Пусть старая система остается прежней. Просто давайте будем продвигать, к примеру, «блочные области». В итоге разработчики тем смогут постепенно перейти к новой системе и даже поддерживать обе системы в долгосрочной перспективе.
Разработчики тем, не готовые использовать блочные виджеты в WordPress 5.6, могут добавить следующую строку PHP в код своей темы, чтобы отключить редактор блоков для виджетов:
remove_theme_support( 'widgets-block-editor' );
Со временем разработчикам тем понадобится переходить к новой системе. Это даст дополнительное время для внесения любых корректировок в процесс обработки виджетов.
Источник: wptavern.com