Перейти до вмісту
Довідник

Ієрархія шаблонів блокової теми WordPress

Повна ієрархія шаблонів блокової теми (FSE): для кожного типу запиту — упорядкований перелік шаблонів, які шукає WordPress, від найспецифічнішого до запасного index.html. Аналог класичної схеми ієрархії для епохи блоків.

Для кожного запиту WordPress шукає ці шаблони по черзі — спочатку найконкретніші — і зупиняється на першому, який існує в папці /templates вашої теми. Ланцюжок завжди завершується на index.html.

Головна сторінка

Головна сторінка сайту — незалежно від того, чи налаштована вона на показ останніх записів, чи на статичну сторінку.

  1. front-page.html
  2. home.html
  3. index.html

front-page.html має пріоритет незалежно від вибору в Налаштування → Читання. Якщо головна сторінка — це статична сторінка, а front-page.html відсутній, обробка переходить до ланцюжка статичної сторінки, а не до home.html.

Стрічка записів блогу

Сторінка зі списком ваших останніх записів («сторінка записів» у Налаштування → Читання).

  1. home.html
  2. index.html

Окремий запис

Окремий запис блогу.

  1. single-post-{slug}.html
  2. single-post.html
  3. single.html
  4. singular.html
  5. index.html

Окремий запис довільного типу

Окремий запис довільного типу вмісту (наприклад, «книга»).

  1. single-{post-type}-{slug}.html
  2. single-{post-type}.html
  3. single.html
  4. singular.html
  5. index.html

Для типу запису «book» зі слагом «dune»: single-book-dune.html, потім single-book.html, потім single.html.

Статична сторінка

Звичайна сторінка WordPress.

  1. page-{slug}.html
  2. page-{id}.html
  3. page.html
  4. singular.html
  5. index.html

Сторінка з довільним шаблоном

Сторінка, якій у панелі «Шаблон» редактора призначено довільний шаблон.

  1. {custom-template}.html
  2. page-{slug}.html
  3. page-{id}.html
  4. page.html
  5. singular.html
  6. index.html

Довільні шаблони оголошуються в масиві customTemplates файлу theme.json і зберігаються в /templates. Призначений шаблон має пріоритет над усім ланцюжком сторінки.

Архів рубрики

Архів зі списком записів однієї рубрики.

  1. category-{slug}.html
  2. category-{id}.html
  3. category.html
  4. archive.html
  5. index.html

Архів мітки

Архів зі списком записів з однією міткою.

  1. tag-{slug}.html
  2. tag-{id}.html
  3. tag.html
  4. archive.html
  5. index.html

Архів довільної таксономії

Архів для терміна довільної таксономії.

  1. taxonomy-{taxonomy}-{term}.html
  2. taxonomy-{taxonomy}.html
  3. taxonomy.html
  4. archive.html
  5. index.html

Архів автора

Архів записів одного автора.

  1. author-{nicename}.html
  2. author-{id}.html
  3. author.html
  4. archive.html
  5. index.html

Архів за датою

Архів за роком / місяцем / днем.

  1. date.html
  2. archive.html
  3. index.html

Архів типу запису

Головна архіву для довільного типу запису, у якого встановлено has_archive.

  1. archive-{post-type}.html
  2. archive.html
  3. index.html

Результати пошуку

Сторінка результатів пошуку по сайту.

  1. search.html
  2. index.html

404 (не знайдено)

Показується, коли жоден вміст не відповідає URL-адресі.

  1. 404.html
  2. index.html

Сторінка вкладення

Сторінка окремого медіавкладення.

  1. attachment.html
  2. single.html
  3. singular.html
  4. index.html

Багато сайтів повністю вимикають сторінки вкладень (це малоцінний вміст). Якщо ви їх залишаєте, ось відповідний ланцюжок.

Сторінка політики конфіденційності

Сторінка, вибрана як політика конфіденційності сайту в Налаштуваннях.

  1. page-privacy-policy.html
  2. privacy-policy.html
  3. page.html
  4. singular.html
  5. index.html

Чим це відрізняється від класичної (PHP) ієрархії

  • Шаблони — це файли .html у /templates, а не файли .php в корені теми. Немає single.php — є single.html.
  • Повторно використовувані області (шапка, підвал) — це ЧАСТИНИ шаблонів у /parts, на які посилаються за допомогою блоку wp:template-part, а не PHP-викликів get_header() / get_footer().
  • Немає ланцюжка get_template_part() і немає get_header()/get_footer(). Компонування виконується за допомогою блоку «Частина шаблону» всередині файлів .html.
  • index.html є ОБОВ'ЯЗКОВИМ. block theme без templates/index.html не є коректною block theme — це обов'язковий кінцевий резервний варіант для кожного з наведених вище маршрутів.
  • Тема вважається block theme завдяки НАЯВНОСТІ templates/index.html разом із theme.json, а не через якийсь прапорець у заголовку.
  • Ви можете редагувати будь-який із цих шаблонів у Редакторі сайту (Вигляд → Редактор) і зберегти зміни в базі даних — після чого вони ПЕРЕВИЗНАЧАЮТЬ файли теми, доки ви не скинете налаштування. Це дивує тих, хто намагається зрозуміти, «чому моя зміна шаблону нічого не робить».