Прошлой ночью я едва мог заснуть. Однажды в синей луне у меня есть идея, которую я хочу попробовать. В то время как моя повседневная работа писателем означает, что я трачу гораздо меньше времени на то, чтобы разбирать сайты через строгие испытания и ошибки при создании плагинов и тем, некоторые проблемы меня беспокоят с WordPress, которые не дают мне дремать в спокойных и мирных снах.
На прошлой неделе Gutenberg 8.9 снял экспериментальный флаг со своей системы блочных виджетов. В целом, это был хороший первый выход для функции, которая должна появиться в WordPress 5.6 в декабре этого года. Однако самая большая проблема была связана с тем, как авторы тем смогут стилизовать виджеты традиционным способом. Поскольку фактические виджеты постепенно сокращаются и заменяются блоками, авторы темы больше не будут иметь доступа к стандартным классам виджетов и заголовков виджетов. Это проблематично, потому что не существует предсказуемого способа стилизовать все виджеты определенной боковой панели, чтобы они выглядели одинаково.
Классический пример – дизайн виджета в коробке . Многие темы, такие как популярная Colibri , используют такой дизайн для своих боковых панелей, как показано на следующем снимке экрана.
В текущем состоянии у авторов темы нет надежного способа создать такой дизайн боковой панели через систему блочных виджетов. Поскольку нет никакого способа осуществлять какой-либо контроль над структурой любого контента, который пользователи помещают на боковую панель, было бы легко взглянуть на эту ситуацию и подумать, что дизайнеры темы теряют контроль.
Судя по недавнему тикету на GitHub и соответствующему обсуждению Slack, проведенному ранее на этой неделе, не похоже, что команда разработчиков Gutenberg намеревается создать паритет между старой и новой системами виджетов, по крайней мере, в том, что касается дизайна темы.
Стоит повторить. Я горячий сторонник передачи такого полного контроля пользователю. Однако нам нужно сбалансировать это и помочь им сделать разумный выбор.
Авторы тем должны начать думать о том, как это повлияет на работу, которую они делают, и предложить творческие решения для боковых панелей, виджетов и других областей, на которые в будущем повлияет полное редактирование сайта.
Возможное решение
То, что не давало мне уснуть прошлой ночью, – это идея комбинировать шаблоны блоков, одну из моих любимых функций , с виджетами. Проблема заключалась в том, что система блочных виджетов в настоящее время не поддерживает блочные шаблоны. И до быстрого обсуждения с Марком Урейном, одним из дизайнеров Гутенберга, на GitHub , идея, казалось, даже не обсуждалась .
Для авторов тем традиционная система боковой панели и виджетов прошлого была не более чем шаблоном. WordPress предоставил разработчикам тем возможность устанавливать оборачивающий HTML-элемент для всего виджета и заголовка виджета. Это была жесткая и негибкая система, но это был надежный стандарт.
Блочные виджеты – полная противоположность. По сути, они являются общедоступными, где пользователи могут размещать произвольный контент в «блочной области».
Что произойдет, если мы объединим структуру паттернов с гибкостью блоков внутри боковых панелей?
Именно эта идея заставила меня встать с постели за экран компьютера сегодня рано утром после беспокойной ночи. Это была такая простая концепция. Авторы тем могут предоставить своим конечным пользователям образец «виджета». Это предоставило бы пользователям выбор между тем, что автор темы считает лучше всего, и прокладкой собственного пути – лучшим из обоих миров.
И здесь действительно проявляется красота блочной системы. Авторы тем могут создавать любое количество шаблонов. Это дает пользователям еще больше возможностей.
Независимо от того, поддерживает ли плагин Gutenberg в настоящее время шаблоны для блочной системы виджетов, проверить идею было несложно. На боковой панели на экране новых виджетов мне просто нужно было добавить новый блок Group с widgetклассом. Затем я добавил к widget__titleклассу блок заголовка H3 . Эти классы могут даже быть ненужными в контексте шаблонов, если авторы темы не хотят напрямую нацеливать их. Помимо пользовательских классов, я добавил простой фон в блок Group и изменил цвет текста заголовка. Я также вставил пустой абзац, где будет размещаться пользовательский контент.
После этого было просто протестировать его с различными блоками.
Я хотел бы знать, что думают об этой идее авторы темы и команда Gutenberg. Я думаю, что в нем есть определенная ценность, поскольку он облегчает некоторые переходные боли между традиционными и блочными виджетами.
Самая большая проблема, которую я вижу, – это аспект обнаруживаемости. Узнают ли конечные пользователи об этих «шаблонах виджетов / блоков», если авторы тем пошли этим путем?