Руководство по иерархии шаблонов WordPress

Приветствую вас снова, друзья!

Сегодня я решил рассказать вам о иерархии шаблонов в WordPress. Написал подробный такой гайд.

Если вы хотите настраивать темы или создавать новые с нуля, важно понимать, как работает иерархия шаблонов WordPress.

Прежде всего, эта система WordPress помогает поддерживать все в полном порядке.

Руководство по иерархии шаблонов WordPress

Как только вы узнаете, что собой представляют все файлы шаблонов тем, что они делают и как они расставлены по приоритетам, вы сможете изменить почти каждый аспект внешнего вида вашего веб-сайта WordPress.

В этой статье я объясню, что такое иерархия шаблонов WordPress и как она работает.

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

Давайте приступим к делу!

Введение в иерархию шаблонов WordPress

Введение в иерархию шаблонов WordPress

Обычно нединамические веб-сайты используют статические файлы HTML и CSS для отображения своего содержимого.

Однако WordPress — это динамическая платформа, основанная на языке программирования PHP.

Каждый сайт WordPress загружает несколько файлов .php, каждый из которых определяет внешний вид определенного раздела или компонента.

Каждый раз, когда вы загружаете определенный тип страницы, система управления контентом (CMS) ищет файлы шаблонов, которые ей соответствуют.

Например, если вы используете функцию поиска WordPress и загружаете страницу результатов поиска, CMS будет искать два файла шаблона:

  1. search.php, который определяет, как выглядит ваша страница результатов поиска,
  2. index.php, который является файлом шаблона по умолчанию, который WordPress использует, когда не может найти верхний вариант в каждой иерархии.

Файлы шаблонов, к которым у вас есть доступ, будут зависеть от того, какую тему вы используете.

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

Итак, в приведенном выше примере, если используемая вами тема включает шаблон search.php, WordPress найдет и загрузит его.

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

Вот где вступает в игру иерархия шаблонов WordPress.

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

Для страницы поиска, если WordPress не может найти файл search.php, он перейдет к следующему файлу в иерархии, которым является index.php.

Этот файл является последним резервным вариантом для каждой отдельной ветви в иерархии шаблонов.

Теоретически у вас может быть полнофункциональная тема, включающая только один файл шаблона, а именно index.php.

Однако на практике тема с одним файлом шаблона практически не включала бы никаких настроек стиля, и все типы страниц выглядели бы примерно одинаково.

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

Если вы хотите настраивать темы или создавать новые с нуля, важно понимать, как работает иерархия шаблонов WordPress. В этом руководстве есть все необходимое для начала работы…

Как работает иерархия шаблонов WordPress

Как вы, возможно, знаете, WordPress позволяет использовать несколько типов страниц в зависимости от того, что вы хотите опубликовать.

Вы можете использовать семь основных категорий:

  1. Front page — Титульная (главная) страница
  2. Single posts — Отдельные сообщения
  3. Single pages — Отдельные страницы
  4. Custom post types — Пользовательские типы сообщений
  5. Search result pages — Страницы результатов поиска
  6. Category and tag pages — Страницы категорий и тегов
  7. 404 error pages — Страницы ошибки 404

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

Если вы быстро заглянете в любую из папок вашей темы, вы обычно найдете коллекцию файлов шаблонов.

Ниже приведен пример файлов шаблонов, перечисленных в каталоге тем для сообщения в блоге:

Как работает иерархия шаблонов WordPress

Файлы шаблонов, перечисленные в каталоге тем WordPress

Это тип страницы с одним сообщением, что означает, что он использует файл single.php в качестве шаблона для основного контента на странице (самого сообщения в блоге).

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

  • Header — Шапка сайта
  • Footer — Футер (подвал) сайта
  • Comments — Комментарии
  • Sidebar — Боковая панель

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

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

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

Эта гибкость — все благодаря модульному подходу WordPress к шаблонам.

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

Дочерние темы также участвуют в иерархии тем WordPress, о которой мы скоро поговорим.

Где найти и изменить файлы шаблонов WordPress

.Php файлы могут включать в себя как PHP-код, так и HTML разметку (все из которых можно редактировать).

Таким образом, файлы шаблонов WordPress могут быть настолько сложными, насколько вам нужно.

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

В качестве примера рассмотрим файл шаблона header.php, который используется в официальной теме WordPress «Twenty Twenty-One»:

Где найти и изменить файлы шаблонов WordPress

Файл шаблона header.php темы «Twenty Twenty-One»

Как я уже упоминал, каждая тема WordPress включает в себя собственный набор файлов шаблонов.

Вы можете увидеть, какие файлы шаблонов включает ваша тема, открыв ее папку в корневом каталоге вашего веб-сайта через клиент протокола передачи файлов (FTP).

Вот как это выглядит для предыдущей официальной темы WordPress «Twenty Twenty»:

Twenty Twenty

Каталог тем и файлы шаблона «Twenty Twenty»

По умолчанию WordPress загружает файлы шаблонов, которые находятся либо в основном каталоге вашей темы (wp_content — themes), либо в папке «template-parts» шаблона.

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

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

Лучший способ понять всю иерархию шаблонов WordPress — это шпаргалка.

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

визуальный обзор иерархии шаблонов

Иерархия шаблонов WordPress

Кодекс WordPress включает много информации об иерархии шаблонов, поэтому я рекомендую добавить этот ресурс в закладки.

А пока давайте углубимся в каждый тип страницы и файлы шаблонов, которые он использует.

Разбивка иерархии шаблонов WordPress по типу страницы

Разбивка иерархии шаблонов WordPress по типу страницы

WordPress использует семь основных типов страниц.

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

Начнем с главной страницы.

Файлы шаблонов главной страницы

Ваша домашняя страница WordPress — это первая остановка, которую делают большинство пользователей, когда они посещают ваш сайт.

На практике макеты главной страницы могут сильно отличаться от одного сайта к другому.

Однако для базовой главной страницы WordPress будет искать эти три файла шаблона по порядку:

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

Если ваша тема не включает файл шаблона front-page.php, WordPress по умолчанию выберет второй вариант и так далее.

Как всегда, файл index.php — это последняя остановка, которую WordPress делает в древе решений шаблона.

Отдельные сообщения

Отдельные статьи WordPress используют иерархию шаблонов одного сообщения.

Для основного содержания каждого сообщения в блоге WordPress будет искать следующие файлы:

  1. single.php
  2. singular.php
  3. index.php

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

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

Помимо основных файлов шаблонов, у вас есть такие элементы, как header, footer, sidebar и разделы комментариев (comments).

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

Отдельные страницы

После публикаций отдельные страницы — это хлеб с маслом для большинства веб-сайтов WordPress.

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

Вот как выглядит иерархия одностраничных шаблонов:

  1. page.php
  2. singular.php
  3. index.php

Хотя иерархия шаблонов для отдельных сообщений и страниц похожа, есть некоторые ключевые различия.

Во-первых, когда дело доходит до страниц, WordPress использует путь «get_page_templates()» для пользовательских файлов, который вы можете использовать для изменения или перенаправления шаблона страницы по умолчанию.

Кроме того, вы можете создавать шаблоны для определенных ярлыков и идентификаторов.

Если у вас есть файл «page–{slug}.php» или файл «page-{id}.php», WordPress попытается загрузить каждый файл по порядку, прежде чем по умолчанию будет использоваться page.php.

Пользовательские типы сообщений

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

Пользовательские типы сообщений обеспечивают более высокую степень организации вашего контента, а также имеют собственную иерархию шаблонов:

  1. archive-{post_type}.php
  2. archive.php
  3. index.php

Иерархия шаблонов для настраиваемых типов сообщений не такая сложная, как для полных страниц или сообщений.

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

Страницы результатов поиска

Я уже познакомил вас с иерархией шаблонов, которую WordPress использует для страниц результатов поиска, поэтому давайте кратко напомню, как это выглядит:

  1. search.php
  2. index.php

По мере того, как мы отходим от «сложных» типов страниц, таких как публикации или ваша главная страница, иерархия шаблонов WordPress становится намного более простой.

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

Страницы категорий и тегов

Хотя многие веб-сайты не ссылаются на них напрямую, WordPress создает коллективные страницы для ваших тегов и категорий.

Также есть отдельные подстраницы для каждого элемента в этой таксономии.

Учитывая, насколько сложной может стать таксономия для веб-сайтов с большими библиотеками контента, эта иерархия включает в себя больше «шагов», чем обычно:

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

Обратите внимание, что для тегов используется таже иерархия, за исключением того, что «тег» заменяет «категорию» во всех случаях.

Теоретически вы можете создать отдельные файлы шаблонов для каждой категории или тега на своем веб-сайте WordPress и идентифицировать их с помощью ярлыков или идентификаторов.

Однако немногие веб-сайты действительно испытывают все эти проблемы.

Если вы не планируете позволять посетителям просматривать страницу вашей категории, по умолчанию используйте шаблон archive.php.

Страница ошибки 404

Иногда посетители будут пытаться получить доступ к несуществующей странице.

Когда это произойдет, WordPress вернет страницу с ошибкой 404.

По умолчанию WordPress не предлагает возможности настройки внешнего вида этой страницы.

Однако вы можете настроить ее внешний вид самостоятельно с помощью файла шаблона.

Иерархия шаблонов довольно короткая:

  1. 404.php
  2. index.php

По мере роста вашего сайта будут расти и случаи, когда пользователи могут столкнуться с ошибкой 404.

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

При загрузке файла шаблона 404 WordPress будет искать и загружать ваш пользовательский файл перед тем, как использовать файл по умолчанию.

Где дочерние темы вписываются в иерархию шаблонов WordPress

Где дочерние темы вписываются в иерархию шаблонов WordPress

Если вам нравится настраивать темы WordPress, лучше всего использовать дочернюю тему.

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

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

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

Вот порядок, в котором WordPress будет пытаться загрузить файлы:

  1. page.php — в дочерней теме
  2. page.php — в родительской теме
  3. singular.php — в дочерней теме
  4. singular.php — в родительской теме
  5. index.php — в дочерней теме
  6. index.php — в родительской теме

Если WordPress может найти версию файла шаблона в вашей дочерней теме, он загрузит именно ее, даже если для нее есть аналог в родительской теме.

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

Как и в случае с другими типами настроек, вы потеряете изменения в файлах шаблонов темы при их обновлении.

Добавление этих изменений через дочернюю тему спасет вас от этой ситуации.

Использование тегов шаблонов WordPress для разработки тем

Использование тегов шаблонов WordPress для разработки тем

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

Теги шаблонов часто являются частью файлов шаблонов, но не взаимозаменяемы.

WordPress встраивает в свой код десятки шаблонных тегов, которые вы можете использовать при разработке тем.

Вот некоторые примеры:

  • get_header()
  • get_footer()
  • get_sidebar()
  • get_search_form()
  • get_template_part()

Эти теги позволяют собирать файлы шаблонов из используемой вами темы.

На практике это означает, что вы можете добавлять определенные элементы в первичные файлы шаблонов, такие как front-page.php или index.php.

Если вам нужен полный список всех тегов шаблонов, которые вы можете использовать при разработке WordPress, ознакомьтесь с Кодексом WordPress.

Там вы найдете инструкции по использованию каждого тега шаблона, его индивидуальные параметры и примеры кода в действии.

Подведем итог этой статьи

Хотя иерархия шаблонов WordPress на первый взгляд может показаться сложной, она сводится к серии простых решений.

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

Помимо основных шаблонов для каждого типа страницы, вы также можете иметь файлы шаблонов для отдельных элементов, таких как header, footer и sidebar.

Этот модульный подход дает вам полный контроль над внешним видом каждой страницы вашего сайта и помогает сэкономить время в процессе разработки WordPress.

У вас есть вопросы о том, как работает иерархия шаблонов WordPress?

Поделитесь ими в разделе комментариев ниже!

А я на этом буду заканчивать эту статью. Надеюсь она вам понравится и будет полезной!

До скорых встреч и берегите себя!

Оцените статью:
Не понравилосьПонравилось (+2 баллов, 2 оценок)
Загрузка...
vikz
Занимаюсь созданием сайтов на WordPress более 7 лет. Работал в нескольких веб-студиях, да и сейчас работаю. Иногда подрабатываю на фрилансе - как на нашем, так и на зарубежном. Везде зарекомендовал себя очень хорошо. Если нужен сайт на WordPress, шаблон для сайта или лендинг - не стесняйтесь, пишите. Рад буду помочь!
Оставьте свой комментарий
Мы рады, что вы решили оставить комментарий. Пожалуйста, имейте в виду, что все комментарии модерируются в соответствии с нашей политикой конфиденциальности, и все ссылки являются "nofollow". Не используйте ключевые слова в поле "Имя". Давайте проведем личный и содержательный разговор, без спама и оскорблений.

Пока нет комментариев. Будь первым!