Перейти к содержимому

Стартовые паттерны

Стартовые паттерны — готовые композиции блоков, которые пользователь видит при создании новой страницы или шаблона. Это «onboarding» для темы: вместо пустого холста — выбор из готовых дизайнов.

Два типа:

  • Страничные (Page Patterns) — при создании новой страницы (Страницы → Добавить новую)
  • Шаблонные (Template Patterns) — при создании нового шаблона (Редактор сайта → Шаблоны → +)

При создании новой страницы пользователь видит модальное окно с выбором паттерна:

Choose a pattern — набор готовых макетов, любой из которых вставляется в область контента.

Нужны два поля в file header:

ПолеЗначениеЗачем
Block Typescore/post-contentГоворит WordPress: этот паттерн для содержимого поста
Post Typespage (или post, page,post)Ограничивает типы записей

Пример: страничный паттерн «О нас»

<?php
/**
* Title: Страница «О нас»
* Slug: themeslug/about-page
* Categories: page
* Block Types: core/post-content
* Post Types: page
* Viewport width: 1376
*/
?>
<!-- wp:group {"layout":{"type":"constrained"}} -->
<div class="wp-block-group">
<!-- wp:heading -->
<h2><?php esc_html_e( 'О нас', 'themeslug' ); ?></h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p><?php esc_html_e( 'Мы — команда профессионалов.', 'themeslug' ); ?></p>
<!-- /wp:paragraph -->
<!-- wp:gallery {"linkTo":"none"} -->
<figure class="wp-block-gallery has-nested-images columns-3">
<!-- wp:image {"id":100,"sizeSlug":"large"} -->
<figure class="wp-block-image size-large">
<img src="<?php echo esc_url( get_theme_file_uri( 'assets/images/team-1.jpg' ) ); ?>" alt=""/>
</figure>
<!-- /wp:image -->
</figure>
<!-- /wp:gallery -->
</div>
<!-- /wp:group -->
  • Страничные паттерны — это контент, поэтому не включайте header/footer — только то, что идёт в область содержимого.
  • Работает с любыми post types, поддерживающими блочный редактор (post, page, CPT).

При создании нового шаблона (например, Front Page) пользователь видит модальное окно Choose a pattern поверх редактора.

Нужно поле Template Types в file header:

<?php
/**
* Title: Главная страница
* Slug: themeslug/front-page
* Template Types: front-page, home
* Viewport width: 1376
* Inserter: no
*/
?>
ПолеОписание
Template TypesТипы шаблонов через запятую: front-page, home, single, archive, search, 404, page, index
InserterОбычно no/false — шаблонные паттерны не должны быть доступны в общем инсертере
ТипКогда появляется
front-pageПри создании шаблона главной страницы
homeПри создании шаблона блога
singleШаблон отдельной записи
pageШаблон статической страницы
archiveШаблон архива
searchШаблон поиска
404Шаблон страницы не найдена
indexУниверсальный fallback-шаблон
<?php
/**
* Title: Главная — Hero + Услуги + Блог
* Slug: themeslug/front-page-full
* Template Types: front-page, home
* Viewport width: 1376
* Inserter: no
*/
?>
<!-- wp:template-part {"slug":"header","theme":"themeslug"} /-->
<!-- wp:pattern {"slug":"themeslug/hero"} /-->
<!-- wp:pattern {"slug":"themeslug/services"} /-->
<!-- wp:pattern {"slug":"themeslug/query-grid"} /-->
<!-- wp:template-part {"slug":"footer","theme":"themeslug"} /-->

Шаблонный паттерн может собираться из других паттернов через <!-- wp:pattern -->, template parts и отдельных блоков.

СтраничныйШаблонный
Где появляетсяСтраницы → Добавить новуюРедактор сайта → Шаблоны → +
СодержитТолько контентВесь шаблон (header, content, footer)
Header fieldBlock Types: core/post-content + Post TypesTemplate Types
InserterПо умолчанию trueОбычно no