В данной статье рассмотрим, как wordpress понимает имена шаблонов. От правильности создания имен шаблонов зависит как WordPress будет выводить ваши страницы.
Для начала, нужно понять саму структуру CMS WordPress. Итак в вордпресс все организовано на типах записей. Есть два стандартных типа записи: Записи и Страницы.
Кроме этого можно создавать и пользовательские типы post_type записей.
Основной единицей любого типа записи является статья (post). Для вывода всех статей (записей) существует шаблон «Архив»
archive-{post_type}.php
Например если нужно вывести все статьи записи wiki, имя шаблона должно выглядеть так: arсhive-wiki.php
Для вывода статьи любого типа записи существует шаблон «Единичный»
single-{post_type}.php
Бывают случаи когда необходимо для определенной статьи сделать другую верстку. Для этого необходимо назвать шаблон
single-{post_type}-{slug}.php
где {slug} — это ярлык статьи. WordPress сам автоматически подставит данный шаблон для этой статьи по ярлыку.
Важно понимать!
Разделителем в названии шаблона является символ «-».
Поэтому если имя типа записи состоит из 2-х и более слов необходимо соединять символом «_». Например, если тип записи можно назвать «wiki_wtw» — это правильно, а вот «wiki-wtw» — не правильно.
Почему происходит так? WordPress читая слаг «wiki-wtw» понимает что wiki — это тип записи, а wtw — ярлык самой статьи, потому как между ними стоит знак «-». Поэтому ваш шаблон не сработает.
Поэтому названия типов записей, таксономий - пишите слитно, либо через «_», тогда надо будет воспользоваться меткой wp_slug.
Вторым элементом в структуре WordPress после типов записей — является таксономия (taxonomy). Что такое таксономия (в некоторых плагинах ее называют — систематикой)? На мой взгляд это характеристика статьи. Например, статьей может быть карточка товара типа записи «Каталог». И к этому типу записей можно привязать много различных таксономий: Цвет, Размер, Вес и т.д.
Единицей таксономии являются термины (term). Для вывода всех статей (записей) которые имеют таксономию используется шаблон
taxonomy-{taxonomy}.php
Если для определенных терминов нужно вывести записи в другом формате можно воспользоваться шаблоном
taxonomy-{taxonomy}-{term}.php
Для стандартных типов записей определены два стандартных типа таксономии:
рубрики — category.php
и метки — tag.php
Данные имена зарезервированы cms WordPress.
В WordPress есть обособленный тип записи «Страницы», который имеет древовидную структуру. Т.е. статьи (страницы) могут быть дочерними (т.е. вложены) в текущую страницу по уровню. Поэтому для этого типа записи нету шаблонов типа archive и single. Основным шаблоном будет:
page.php
Для вывода определенных страниц можно воспользоваться шаблоном page-{slug}.php, где с {slug} — ярлык статьи. Например, у нас есть страница «О компании» со слагом «about». Тогда если нам нужен особый шаблон для странице «О компании» назовем шаблон
page-about.php
и он автоматически подхватится для страница с ярлыком «about».
В видео я более подробно расскажу о построении шаблонов в WordPress. Если вам понравилась статья ставим лайки и делимся с друзьями. Остались вопросы? Давайте обсудим в комментариях.