Categories: Мнение

Авторы тем могут передавать данные в файлы шаблонов в WordPress 5.5

Разработчики тем могут наконец порадоваться. Впервые появилась возможность передавать данные в шаблоны с помощью различных основных функций загрузки шаблонов. Энрико Сорчинелли объявил об изменении в блоге Make Core в прошлую пятницу.

Первоначально эта функция была предложена Скоттом Кингсли Кларком в 2012 году. За прошедшие годы проект получил десяток исправлений. Он пережил закрытие и споры о том, почему эта функция не должна входить в ядро. Сорчинелли был основным, кто поддерживал проект в течение последних нескольких лет.

Разработчики WordPress убрали некоторые старые, но полезные запросы функций для цикла выпуска 5.5. Пару недель назад был принят билет 11-летней давности, позволяющий пользователям обновлять темы и плагины через ZIP-файл. Разработчики ядра даже закрыли билет 9-летней давности, связанный с взломом Internet Explorer 6 – progress. Однако для авторов тем одним из наиболее важных дополнений является контроль над передачей данных из одного шаблона в другой.

Обычно в PHP переменные могут передаваться из файла в файл, потому что они остаются в той же области. Однако это не тот случай, если включение файла исключено из этой области путем включения файла изнутри функции. Затем объем ограничивается функцией. Так работает система шаблонов в WordPress. Это не обязательно плохо. Однако это означает, что у разработчиков тем не было встроенного метода передачи данных из одного шаблона в другой.

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

«В течение многих лет разработчикам тем, желающим передать данные в файлы шаблонов, приходилось использовать далеко не идеальные обходные пути», – написал Сорчинелли в объявлении. Худшие решения обычно включали создание глобальной переменной. Другие создали собственные функции загрузки шаблонов поверх существующей системы WordPress. Проблема всех методов, независимо от того, какой из них был идеальным, заключалась в отсутствии стандарта. Каждой теме нужно было бы создать собственное решение, а плагины, затрагивающие интерфейс, часто имели бы конкурирующее решение.

Все функции загрузки шаблонов WordPress теперь поддерживают дополнительный параметр $ args, который позволяет авторам тем передавать ассоциативный массив данных в загруженный шаблон. Этот новый параметр поддерживает следующие функции:

get_header ()
get_footer ()
get_sidebar ()
get_template_part ()
locate_template ()
load_template ()

Любые перехватчики, связанные с функциями, также передают данные.

Функция get_search_form () поддерживает аналогичный параметр, начиная с WordPress 5.2. На практике она должна работать в основном так же, но функция имеет несколько значений по умолчанию, которые она устанавливает.

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

Системе шаблонов WordPress по-прежнему не хватает надежности более современных фреймворков, но это простое изменение позволит использовать множество приложений.

Остается один вопрос: не слишком ли поздно появилась эта функция? Поскольку WordPress готовится обновить всю систему тем для интеграции с предстоящей функцией редактирования всего сайта, будет ли эта функция полезна только в ближайшие несколько месяцев?

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

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

 

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