В течение многих лет я был ярым сторонником отделения любой не относящейся к дизайну функциональности из тем в их собственные плагины. Я много писал по этому поводу. Будь то шорткоды, пользовательские типы сообщений, пользовательские метаданные и любое количество вещей, связанных с пользовательским контентом / данными, я нарисовал глубокую черту на песке. Это принадлежит плагину.
Если вы никогда не слышали об «эффекте блокировки темы», ничего страшного. Для многих это не проблема. Такие места, как каталог тем WordPress.org, по большей части нарисовали похожую черту на песке.
Цель всегда заключалась в том, чтобы не заманить пользователя в ловушку постоянного использования определенной темы. Это не идеальный пользовательский опыт, когда некоторые важные данные больше не доступны при смене дизайна. И все пользователи в конечном итоге хотят менять это время от времени. Застрять с [shortcode-soup] тегами, разбросанными по всему сайту, никогда не бывает весело. Также не теряется доступ администратора к десяткам, сотням или даже тысячам страниц из настраиваемого типа сообщений, которые внезапно исчезают.
Сообщество разработчиков тем WordPress избежало этой проблемы – некоторые в большей степени, чем другие – путем объединения важных функций, связанных с контентом, отдельно в плагины.
Те авторы тем, которые обходили блокировку темы с помощью плагинов, в основном делали это в своих собственных хранилищах. Например, вместо интеграции с существующим плагином портфолио они просто создадут свой собственный. Единственные темы, которые поддерживают этот плагин? Их. В конечном счете, пользователи все еще оставались в ловушке.
Я не могу переложить всю тяжесть этого вопроса на плечи авторов темы. Плагины портфолио – пруд пруди. Поддержка WooCommerce для решения электронной коммерции или bbPress для форумов – простой выбор. Но когда нет явного лидера отрасли, собственное решение так же хорошо, как и большинство других.
Однако система блоков уже усложняет дело. Когда тема поддерживает такие функции, как размеры шрифтов, цвета и градиенты, она по существу блокирует пользователей. Переключитесь на другую с другой конфигурацией, и все размер шрифта, цвет и градиент, выбранные пользователем, исчезнут.
Представьте, что вы вставляете блок абзаца и выбираете небесно-голубой цвет из вашей темы в качестве фона блока. А теперь представьте, что вы делаете это несколько сотен раз, и через пару лет он исчезнет, когда вы захотите сменить дизайн.
Я не буду вдаваться в технические подробности того, как это работает под капотом. Так была спроектирована система. Некоторые проблемы можно было решить на раннем этапе , но этот корабль отплыл два с половиной года назад с запуском WordPress 5.0. Есть также способы решить эту проблему в будущем с помощью технических приемов.
На прошлой неделе читатель по имени Ник поднял этот вопрос относительно шаблонов блокировки. Рассматриваемая тема использовала пользовательские классы CSS для достижения определенного дизайна.
Поскольку у Гутенберга отсутствуют все упомянутые выше функции, в теме используются некоторые настраиваемые классы CSS, и эти классы закодированы в таблице стилей темы. Проблема в том, что теперь, когда вы использовали эти шаблоны, ВЫ ЗАБЛОКИРОВАНЫ к этой теме. Поскольку в тот момент, когда вы меняете тему, в новой теме не будут определены эти настраиваемые классы, шаблоны будут нарушены. Это ОДИНАКОВАЯ причина, по которой шорткоды были запрещены много лет назад изнутри тем – и все же, когда дело доходит до шаблонов, это как-то разрешено?
Примечание: шорткоды были запрещены в каталоге тем WordPress, потому что фактическое содержимое сообщения было нарушено при переключении темы. Это не было связано с поломкой конструкции.
Понятно, что некоторые из вас думают. Это не то же самое, что блокировка «контента». Нет это не так. Не совсем. Однако, поскольку система блоков переплетает контент и дизайн, в некотором роде так оно и есть. Я сомневаюсь, что средний пользователь оценит различие, когда они попадают в сценарии с белым текстом на белом фоне.
Это вполне реальный сценарий. Я вижу это почти ежедневно, когда тестирую разные темы.
И это только начало. По мере того, как система дизайна WordPress растет, и участники могут настраивать больше элементов, пользователи будут более привязаны к своей существующей теме. Или они могут быть привязаны к способу работы одного разработчика или одного магазина.
И не обязательно считать это плохо . У нас всегда были эти маленькие разрозненные структуры в экосистеме WordPress, и в основном они работали.
В некотором смысле мало что изменилось.
Пользователи часто по той или иной причине придерживаются одних и тех же тематических компаний. И те же самые themers, как правило, строят на основе собственных библиотек или фреймворков, повторно используя одни и те же системы – по крайней мере, лучшие из них. Обычно это означает, что пользователи могут свободно переключаться между темами, созданными одними и теми же людьми, ничего не теряя.
Старый тест на чистоту, заключающийся в том, чтобы не смешивать контент и дизайн, прошел.
Это шанс для индивидуальных разработчиков и магазинов укрепить свой бренд. Если это система, которую предоставляет WordPress, создавайте на ее основе сильные продукты. Создавайте схемы именования, которые позволяют пользователям переключаться между вашими темами. Создавайте лояльных клиентов, которые захотят оставаться с вами на долгие годы.
Если пользователи по сути привязаны к тематическим продуктам одного магазина, это звучит как прибыльная возможность для создания решений и создания здоровых пользовательских сообществ вокруг отдельных брендов.
Я также предвижу будущее, в котором пользователям нужно будет гораздо реже менять темы. После того, как редактор сайта и функции глобальных стилей станут доступны, пользователи получат более прямой контроль над своим дизайном. После того, как они остановились на твердой теме, им, возможно, никогда не придется ее менять, пока она остается относительно актуальной.