Йерархия на шаблоните
Йерархията на шаблоните в WordPress е системата, която се използва за определяне на това кой(и) файл(и) на шаблона да се използва(т) при показването на дадена страница в уебсайта. Тази йерархия позволява голяма гъвкавост и персонализиране на начина, по който различните типове съдържание, страници, публикации и категории се показват на вашия сайт. Разбирането на това как работи йерархията на шаблоните ще ви помогне да персонализирате ефективно вашата тема на WordPress.
Ето един подробен преглед на това как работи йерархията на шаблоните на WordPress:
Какво представлява йерархията на шаблоните на WordPress?
Йерархията на шаблоните е набор от правила, които WordPress следва, за да избере кой(и) файл(и) на шаблона да използва при визуализирането на дадена страница. Тези шаблони се съхраняват в папката на темата и позволяват на WordPress динамично да генерира правилното оформление и дизайн въз основа на вида на показваното съдържание.
Например:
- При показване на единична публикация в блога WordPress първо ще потърси шаблон, наречен single.php. Ако не го намери, той се придвижва надолу по йерархията, търсейки алтернативи като index.php.
- При показване на страница с категория WordPress първо ще потърси category-slug.php или category-ID.php и т.н.
Основни файлове на шаблони в WordPress
Всяка тема на WordPress има няколко основни файла за шаблони. Ето най-често срещаните от тях:
- index.php: Шаблонът за всички страници, ако няма други по-специфични шаблони.
- header.php: Определя заглавната част на сайта ви (например лого, навигация).
- footer.php: Дефинира секцията footer на вашия сайт (например информация за авторските права, уиджети за footer).
- single.php: Показва единични публикации в блога.
- page.php: Показва отделни страници.
- archive.php: Показва архивни страници (например категории, тагове, автори).
- category.php: Показва архивни страници на категории.
- tag.php: Показва архивни страници с тагове.
- search.php: Показва страници с резултати от търсенето.
- 404.php: Показва страница за грешка 404, когато дадена страница не е намерена.
Как работи йерархията на шаблоните на WordPress
WordPress определя кой шаблон да се използва въз основа на типа на исканото съдържание. Нека разгледаме някои често срещани типове страници и как WordPress избира шаблона:
1. Единична публикация (single.php)
Когато показвате единична публикация, WordPress ще търси следните шаблони в този ред:
- single-{post-type}.php (за потребителски типове публикации, например single-product.php)
- single.php
- index.php
2. Страница (page.php)
Когато показвате отделна страница (например страница За нас или Страница за контакти), WordPress ще следва този ред:
- custom-page-slug.php (ако страницата има персонализиран шаблон)
- page-{slug}.php (напр. page-about.php)
- page-{ID}.php (напр. page-2.php)
- page.php
- index.php
3. Архив на категориите (category.php)
За страниците с архив на категории (например списък с публикации в определена категория) йерархията е следната:
- category-{slug}.php (напр. category-news.php)
- category-{ID}.php (напр. category-3.php)
- category.php
- archive.php
- index.php
4. Архив на етикети (tag.php)
За страниците с архив на тагове WordPress използва:
- tag-{slug}.php (напр. tag-recipes.php)
- tag-{ID}.php
- tag.php
- archive.php
- index.php
5. Потребителски типове публикации
Потребителските типове публикации могат да имат свои собствени шаблони. WordPress търси:
- single-{post-type}.php (напр. single-product.php)
- single.php
- index.php
По подобен начин за архивите с потребителски тип публикация:
- archive-{post-type}.php (напр. archive-product.php)
- archive.php
- index.php
6. Архив на авторите (author.php)
За авторските страници WordPress следва тази йерархия:
- author-{nicename}.php (например, author-john.php)
- author-{ID}.php
- author.php
- archive.php
- index.php
7. Резултати от търсенето (search.php)
При показване на резултатите от търсенето WordPress използва следния ред:
- search.php
- index.php
8. страница с грешка 404 (404.php)
Когато дадена страница не е намерена, WordPress използва:
- 404.php
- index.php
9. Архив на датата (date.php)
За архиви, базирани на дата, WordPress използва:
- date.php
- archive.php
- index.php
10. Начална страница
WordPress предлага две възможности за начална страница: индекс на блога или статична страница.
- За индекса на блога:
- home.php
- index.php
- За статична първа страница:
- front-page.php
- home.php
- page.php
- index.php
Визуално представяне на йерархията на шаблоните
Ето един опростен визуален поток за по-добро разбиране на йерархията:
- Единична публикация: single-{post-type}.php → single.php → index.php
- Страница: custom-page-slug.php → page-{slug}.php → page.php → index.php
- Архив на категории: category-{slug}.php → category.php → archive.php → index.php
- Архив на етикети: tag-{slug}.php → tag.php → archive.php → index.php
- Архив на авторите: author-{nicename}.php → author.php → archive.php → index.php
- Резултати от търсенето: search.php → index.php
- грешка 404: 404.php → index.php
- Начална страница: front-page.php → home.php → index.php
Персонализиране на йерархията на шаблоните
Можете да създавате персонализирани шаблони, като следвате конвенциите за именуване на йерархията. Например, за да създадете персонализиран шаблон за конкретна категория (например “Новини”), създайте файл с име category-news.php и го поставете в папката на темата. WordPress автоматично ще използва този шаблон при показване на публикации от категорията “Новини”.
Освен това можете да замените шаблоните по подразбиране, като създадете по-специфични файлове с шаблони, например single-product.php за потребителски тип публикация или page-about.php за конкретна страница.
Съвети за работа с йерархията на шаблоните
- Използвайте условни етикети: Можете да използвате условни тагове като is_single(), is_page() или is_category() в рамките на index.php или други шаблони, за да приложите специфичен код към определени типове съдържание.
- Части на шаблона: Използвайте функцията get_template_part(), за да включите фрагменти от код за многократна употреба (напр. общо заглавие или колонтитул) в няколко шаблона.
- Детски теми: Ако правите промени в съществуваща тема, създайте дъщерна тема, за да можете да променяте шаблоните, без да засягате файловете на оригиналната тема.
- Отстраняване на грешки: Ако не сте сигурни кой шаблон използва WordPress за дадена страница, можете да използвате плъгини като What The File, за да разберете това.
Заключение
Йерархията на шаблоните в WordPress е мощна система, която дава на разработчиците гъвкавост при създаването на персонализирани оформления за различни видове съдържание. Като разбирате йерархията, можете да контролирате начина, по който вашият уебсайт на WordPress показва различните типове съдържание, като гарантирате последователно и уникално потребителско изживяване. Независимо дали създавате персонализирани шаблони за конкретни страници, или персонализирате оформлението на архива, овладяването на йерархията на шаблоните ще ви даде необходимия контрол за фино настройване на вашия WordPress сайт.