WordPress 5.8 должен выйти 20 июля, всего через 10 дней. Релиз призван стать одним из самых многофункциональных обновлений WP за последнее время. Блочные виджеты, каталог паттернов, поддержка WebP, режим редактирования шаблонов, а также многие другие инструменты практически готовы для массового использования.
Одной из самых мощных функций свежего релиза является блок Query Loop.
Термины «запрос» и «цикл» – основополагающие понятия WordPress. Обычно они применялись только для разработки тем и плагинов. Однако теперь эти концепции шагнули в массы. С помощью блока Query Loop пользователи смогут выводить записи во фронтэнде сайта разными способами.
Запросы? Циклы?
Далеко не все пользователи WordPress знают, что такое запросы и циклы. Для авторов тем и плагинов это привычные концепции. Даже некоторые пользователи, работающие с WordPress много лет, могли никогда не сталкиваться с запросами и циклами. Итак, нам надо сформулировать несколько определений.
Термин «Query» (запрос) означает получение записей из базы данных в соответствии с определенным набором параметров. К примеру, можно получить 10 последних записей в блоге.
«Loop» (цикл) – еще более простое понятие. Здесь мы подразумеваем циклический проход по каждому запрошенному посту и его вывод. Вообще разработчики могут совершать в цикле любые действия, не только вывод записей, но мы рассмотрим только отображение материалов.
Эти два понятия вместе образуют блок Query Loop. Он позволяет запрашивать набор записей и выводить их.
Также в WordPress 5.8 появится блок Post Template, который все немного запутывает (не слишком удачный выбор термина «template»). Это просто новый взгляд на старую концепцию. Обычно авторы тем WordPress писали весь HTML и вызывали определенные теги шаблонов в цикле запрашиваемых записей, чтобы вывести заголовок записи, автора, контент и т.д. Это легко делается в PHP-файле. Однако в редакторе блоков потребовался новый подход ко всему этому. Блок Post Template работает как связка всех этих возможностей, вмещая в себя все то, что пользователи хотят вывести в Query Loop.
В WordPress также есть вариация блока Query Loop под названием Posts List. Функционирует она так же, только носит более понятное название. Единственная проблема с этой вариацией заключается в том, что при ее вставке пользователь видит заголовок блока Query Loop. Есть открытый тикет для исправления этого бага, однако вряд ли разработчики успеют его пофиксить к выходу WordPress 5.8.
Добавление паттернов в Query Loop
При первом добавлении Query Loop в редактор пользователи смогут ознакомиться с новой возможностью WordPress 5.8 – инструментом вставки паттернов. Вместо прямого взаимодействия с блоком пользователям будет предложено выбрать подходящий паттерн из списка предустановленных решений.
По умолчанию инструмент вставки паттернов представляет собой карусель, которая позволяет выбирать подходящие паттерны:
Однако пользователи могут переключиться на grid-разметку, чтобы просмотреть все паттерны сразу:
В WordPress 5.8 будет 6 Query Loop паттернов по умолчанию (если в ближайшие дни не добавятся новые):
- Standard
- Image at left
- Small image and title
- Grid
- Large title
- Offset
Мне базовые паттерны не особо нравятся. Исключение: Large title (показан на скриншоте выше с черным фоном и белым текстом). Чтобы этот блок заиграл красками, пользователям придется создавать свой собственный дизайн или ждать, пока разработчики тем начнут включать в свои решения произвольные паттерны Query Loop.
В принципе, так и должно быть. Ядро WordPress должно поставлять некоторые основы, позволяющие сообществу дизайнеров тем демонстрировать свое мастерство.
Разработчики тем с помощью паттернов могут предлагать пользователям альтернативу своим произвольным шаблонам страниц. Но пока не время полностью отказываться от произвольных шаблонов. В блочную эру многие старые идеи будут пересмотрены и реконструированы. К примеру, уже появляются интеграции для eCommerce-плагинов, сетки портфолио и т.д. Некоторые инструменты все еще ограничены (мы рассмотрим их далее), но уже есть много начальных наработок, позволяющих испытать WordPress по-новому.
Опции блоков
Блок Query Loop предлагает несколько опций, с помощью которых пользователи могут настроить то, какие записи будут запрашиваться в базе данных:
В тулбаре блока есть кнопка Display settings. При щелчке по ней появляется всплывающее окно с вариантами количества отображаемых записей:
- Items per Page: количество выводимых записей на странице.
- Offset: количество пропускаемых записей (так называемое смещение).
- Max page to show: ограничение количества страниц (для этой опции требуется один из блоков Query Pagination).
Панель Settings в сайдбаре блока Query Loop содержит несколько дополнительных опций. Пользователи могут включить «Inherit query from template» для использования глобального запроса WordPress, однако это практически бесполезно для пользователей WordPress 5.8 без плагина Gutenberg и без блочной темы. На данный момент вы, скорее всего, захотите отключить эту опцию. Также у вас будут следующие настройки:
- Тип записей
- Порядок вывода
- Панель фильтров для рубрик, меток, автора и ключевых слов
Панели Settings и Filters – самые удачные находки для блока Query Loop. Разработчики нашли разумный баланс между простотой использования и множеством параметров, связанных с запросами и доступными через код. Пользователи сразу же имеют массу возможностей по настройке вывода записей. В будущем этот инструмент станет еще более гибким, когда разработчики плагинов начнут его расширять.
Блок Post Template
При вставке блока Query Loop в редактор автоматически добавляется его внутренний блок Post Template. Здесь происходит основная магия. Пользователи могут напрямую менять представление своих записей. Обычно это будет делаться с помощью блоков из категории Theme, многие из которых предназначены для вывода данных, связанных с записями.
Здесь также доступны для вставки практически все остальные блоки. Однако многие из них вряд ли будут подходящими кандидатами для использования в Query Loop.
Неочевидное замечание: изменения, вносимые вами в одну запись в блоке Post Template, повлияют на все остальные записи. Если вы добавите сюда блоки Video или Buttons, то все записи будут с этими блоками. Помните, что это «шаблон» для разработки того, как будут выводиться все записи в цикле Query Loop.
Недостатком настройки вывода Post Template является отсутствие вариантов дизайна для некоторых блоков. Можно легко создать простейший список записей:
Вы также можете создать разметку, подобную сетке портфолио, как показано на следующем скриншоте. Однако блок Post Featured Image в настоящий момент не имеет инструментов управления размерами, а потому вы будете привязаны к стандартному размеру post-thumbnail в теме – учитывая, что он вообще зарегистрирован. У одного все может выводиться хорошо, у другого – ужасно.
Чтобы задавать более сложные опции, такие как шрифты, цвета, отступы, пользователям нужно будет дождаться релиза WordPress 5.9 и выше. Однако в распоряжении разработчиков тем уже имеется Block Styles API, с которым они могут вовсю экспериментировать.
Источник: wptavern.com