Categories: Новости

Блок ‘Pattern’ и как он устраняет давнюю проблему с динамическими данными в HTML-шаблонах

Когда я просматривал последние темы блоков на WordPress.org, я наткнулся на новую фавориту: Bai. Типографика была подходящей для тех, кто склонен писать длинный контент. Кроме того, он имеет встроенный темный режим, который не заставлял меня отрывать глаза от их глазниц. Я планировал просмотреть его, но мне было нечего сказать. Это просто прочный дизайн без особых дополнительных функций.

Однако в конкретной тестовой среде, которую я настроил, одна часть была сломана. Я столкнулся с давней проблемой с системой блокировки.

«Вступительное» изображение по умолчанию, используемое на домашней странице, вернет 404, если WordPress не установлен в корневом каталоге или если /wp-content папка была перемещена. Я переключил его на другой тестовый сайт, используя конфигурацию по умолчанию, чтобы он появился.

Это не вина разработчика. Темы блокировки в настоящее время не имеют возможности добавлять динамические значения в свои шаблоны. Поэтому единственное решение – добавить ссылку на изображение со стороннего сайта или добавить статический URL.

Это не такая уж тривиальная проблема, которая, по крайней мере частично, препятствует развитию блочной темы.

С тех пор, как появились темы, у них есть выходные данные через функции PHP. При использовании шаблонов блоков все является HTML и битами данных JSON. Динамические части – это сами блоки. Это работает достаточно хорошо как минимум для 90% (а возможно, и больше) сценариев.

Проблемы возникают у авторов тем в тех случаях, когда нет существующего блока или способа добавления динамических данных в строку. Некоторые варианты использования включают:

  • Печать интернационализированных текстовых строк.
  • Вывод текущего года в разделе авторских прав нижнего колонтитула.
  • Добавление URL-адресов изображений.

Дело не в том, что эти вещи обязательно должны быть динамичными. Ожидается, что пользователи будут редактировать контент через редактор сайта. Однако работа не идеальна, если изображение возвращает статус 404, когда у пользователей другая структура каталогов. Или когда в их теме разбросаны кусочки английского языка при использовании испанского перевода. Прежде чем блочные темы официально появятся в WordPress, это необходимо исправить.

Для Gutenberg 11.8 запланирован открытый билет, который решает эту проблему с помощью нового блока Pattern. По сути, это позволит темам выводить шаблон в шаблонах.

<!-- wp:pattern {"slug":"namespace/pattern-name"} /-->

Причина, по которой это работает, заключается в том, что шаблоны определяются через PHP. Авторы тем могут использовать функции интернационализации, например __(), распечатать дату с помощью date_i18n()или вывести URL-адрес изображения с помощью get_theme_file_uri().

Эта предстоящая функция закрыла предыдущее предложение по автономному блоку i18n . Он также должен рассмотреть несколько идей по более ранней проблеме для динамических данных в статических файлах HTML . Еще один для включения изображений в шаблоны блоков . Предложение от 2020 года по использованию паттернов в шаблонах. И, я уверен, множество других билетов.

Скорее всего, толчок произойдет потому, что он нужен будущей теме по умолчанию Twenty Twenty-Two. В настоящее время разработчикам необходимо выяснить, как отобразить изображение летящей птицы по умолчанию на главной странице и добавить интернационализированный текст кредита в нижнем колонтитуле .

Мне нравится эта концепция. Разработчики добавляют блок Pattern в свои шаблоны. В редакторе сайта шаблон отображается и сохраняется до тех пор, пока пользователь не внесет прямое изменение. Затем он ведет себя как любой другой набор блоков, и контент больше не является динамическим.

Дополнительным преимуществом этой функции является то, что она также может решить проблему дублирования кода и позволяет авторам тем следовать принципу DRY.

При создании шаблонов или частей шаблона некоторые авторы темы дублируют то же содержимое, что и шаблоны блоков, выбираемые пользователем. Вместо того, чтобы размещать код в двух местах, они могут зарегистрировать его один раз как шаблон и вызвать его в шаблоне.

Хотя блок Pattern еще не объединен официально, он выглядит лучшим решением проблемы динамического контента с темами блоков.

writer

Recent Posts

Плагин Delete Me для WordPress помогает владельцам веб-сайтов предоставить право на забвение GDPR

Поскольку до крайнего срока соблюдения GDPR ЕС осталось всего 178 дней , многие владельцы сайтов…

2 года ago

Команда Gutenberg наращивает юзабилити-тестирование в WordCamp US

Команда Gutenberg создаст станцию ​​тестирования удобства использования в WordCamp US, где посетители смогут принять участие…

2 года ago

Плагин распространителя теперь в бета-версии: новое решение для синдикации контента WordPress от 10up

Сегодня компания 10up опубликовала предварительную версию своего плагина Distributor , нового решения для синдикации контента…

2 года ago

Gutenberg 1.8 добавляет большую расширяемость для разработчиков плагинов

На этой неделе был выпущен Gutenberg 1.8 с несколькими заметными улучшениями, которые предоставят разработчикам плагинов…

2 года ago

Gutenberg 15.5 представляет экспериментальную поддержку разметки сетки

На этой неделе был выпущен Gutenberg 15.5 с новыми функциями и улучшениями возможностей полнофункционального редактирования…

2 года ago

DesktopServer 3.8.4 включает подарок сообществу

DesktopServer выпустил версию 3.8.4 своего программного обеспечения для локальной разработки. Эта версия включает в себя…

2 года ago