Как добавить произвольный паттерн в цикл запроса?
Ссылка скопирована
При работе с циклом запроса(query loop) в гутенберге доступно на выбор один из нескольких 6 паттернов(Standard, Image at left, Small image and title, Grid, Large title, Offset).
Подскажите, пожалуйста, как создать произвольный паттерн и сделать его доступным для выбора из общего списка паттернов?
Дополнительно:
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
woocommerce
Как отображать при фильтрации товары со значением search параметра visibility: HUSKY — Products Filter for WooCommerce?
0 ответов
VPN
Почему подключение через VPN работает только на wi-fi, а через кабель нет, где ошибка?
0 ответов
Safari
Почему снова флагнули домен в safari?
0 ответов
Telegram
Как диагностировать ошибку с подключением к прокси в мобильном приложении Telegram?
0 ответов


Для Query Loop в Gutenberg нужно зарегистрировать свой block pattern. После регистрации он появится в списке паттернов, доступных при выборе макета цикла запроса. Делается это через
register_block_pattern()на хукеinit.add_action('init', function () { register_block_pattern_category('site-query', [ 'label' => __('Паттерны запросов сайта', 'textdomain'), ]); register_block_pattern('site/custom-query-card', [ 'title' => __('Карточки записей сайта', 'textdomain'), 'description' => __('Произвольный паттерн для Query Loop.', 'textdomain'), 'categories' => ['query', 'site-query'], 'blockTypes' => ['core/query'], 'content' => '<!-- wp:query {"query":{"perPage":6,"postType":"post"}} --> <div class="wp-block-query"> <!-- wp:post-template {"layout":{"type":"grid","columnCount":3}} --> <!-- wp:group {"className":"custom-query-card"} --> <div class="wp-block-group custom-query-card"> <!-- wp:post-featured-image {"isLink":true} /--> <!-- wp:post-title {"isLink":true,"level":3} /--> <!-- wp:post-excerpt {"moreText":"Подробнее"} /--> </div> <!-- /wp:group --> <!-- /wp:post-template --> </div> <!-- /wp:query -->', ]); });
Ключевые моменты:
categoriesдолжен содержатьquery, чтобы паттерн был связан с Query Loop;blockTypesуказывает, что паттерн относится кcore/query;contentдолжен быть валидной block-разметкой Gutenberg, а не обычным PHP-шаблоном.Удобнее сначала собрать нужный Query Loop в редакторе, затем переключиться в режим «Редактор кода», скопировать block-разметку и вставить её в
content. Так меньше риск ошибиться в синтаксисе комментариев блоков.Код регистрации лучше держать в теме или отдельном плагине. Если это проектная библиотека паттернов, отдельный мини-плагин будет надёжнее: паттерны не пропадут при смене темы.