WP-DOC

Pisanie motywu

02.07 Hierarchia plików WordPress

Ostatnia modyfikacja: 06.05.2021

Pierwszy podział motywu został dokonany, kiedy z jednego pliku index.php został wyodrębniony nagłówek header.php oraz stopka footer.php. Tym razem utworzone pliki, będą pobierać i wyświetlać posty, wpisy kategorii, strony i inne, tworzone w panelu administratora. Jednak zanim przejdziemy do dalszej rozbudowy motywu, należy zapoznać się z systemem podziału plików motywu w WordPress. O tym jaka część strony jest wyświetlana w jakim pliku, decyduje hierarchia plików w motywie. Poszczególne treści witryny są wczytywane za pomocą odpowiednich plików. Istotną rolę odgrywają ich nazwy.

Podział na stronę oraz wpis.

WordPress daje możliwość tworzenia dwóch rodzajów postów. Jedne do Wpisy – są one przeznaczona do wpisów na blogu, domyślnie mają włączone komentowanie posta, jeżeli możliwość komentowania została udostępniona. Natomiast Strony służą do wprowadzania treści, która zmienia się bardzo rzadko na przykład polityka prywatności czy strona kontakt. Domyślnie Strony mają wyłączone komentowanie, nawet kiedy komentarze w motywie są dostępne.

Strona główna

Do wyświetlenia strony głównej możemy użyć następujących plików motywu:

  1. front-page.php – Plik wyświetli najnowsze pliki na blogu jak również stronę statyczną. Zależy to od ustawień w panelu administratora Ustawienia - Czytanie.
  2. home.php – Jeżeli w motywie brakuje pliku front-page.php, najnowsze posty zostaną wyświetlony w home.php. WordPress, najnowsze wpisy wyświetli również, gdy jest to ustawione w sekcji strony głównej.
  3. page.php – Gdy strona główna jest ustawiona w sekcji wyświetlania strony głównej.
  4. index.php – Kiedy najnowsze wpisy są wyświetlane w sekcji strony głównej, ale kiedy plik home.php nie istnieje lub gdy strona główna jest ustawiona, ale plik page.php nie istnieje.

Polityka prywatności

Do wyświetlania strony polityki prywatności służy:

  1. privacy-policy.php – Tylko wtedy kiedy strona ta zostanie wybrana poprzez Ustawienia - Prywatność.
  2. custom template file – Szablon strony, przypisany do strony. Niedługo więcej informacji na temat tworzenia szablonów.
  3. page-[slug].php – Jeżeli slug privacy będzie użyty w nazwie pliku czyli page-privacy.php.
  4. page-[id] – Jeżeli id strony to 4, WordPress poszuka pliku o nazwie page-4.php, jeżeli wyżej wymienione nie będą istnieć.
  5. page.php – Wyświetli każdą stronę, jeżeli nie został utworzony dla niej osobny plik jak wyżej.
  6. singular.php – Wyświetli każdą stronę, jeżeli nie został utworzony dla niej osobny plik jak wyżej lub gdy page.php nie istnieje.
  7. index.php – Wyświetli każdą stronę, jeżeli nie został utworzony dla niej osobny plik jak wyżej lub gdy page.php oraz singular.php nie istnieje.

Pojedynczy wpis

Do wyświetlenia pojedynczego wpisu służy:

  • single-[post-type]-[slug].php – Na przykład, jeżeli typ postu to produkt a slug to rower, wówczas WordPress będzie szukał pliku o nazwie single-produkt-rower.php.
  • single-[post-type].php – Jeżeli typ post to produkt, wówczas WordPress będzie szukał pliku o nazwie single-produkt.php.
  • single-[id].php – Jeżeli będzie istniał, wpis ID wynoszącym 7, wówczas WordPress będzie szukał pliku o nazwie single-7.php.
  • single.php – Wyświetli każdy wpis, jeżeli nie został utworzony dla niej osobny plik jak wyżej.
  • singular.php – Wyświetli każdy wpis, jeżeli nie został utworzony dla niej osobny plik jak wyżej lub gdy single.php nie istnieje.
  • index.php – Wyświetli każdy wpis, jeżeli nie został utworzony dla niej osobny plik jak wyżej lub gdy single.php oraz singular.php nie istnieje.

Treść strony

Do wyświetlenia zawartości strony służy:

  1. custom template file – Szablon strony, przypisany do strony. Niedługo więcej informacji na temat tworzenia szablonów.
  2. page-[slug].php – Jeżeli slug strony to rowery-szosowe, wówczas WordPress będzie szukał pliku page-rowery-szosowe.php.
  3. page-[id].php – Jeżeli istnieje strona o numerze ID 7, wówczas WordPress poszuka pliku o nazwie page-7.php.
  4. page.php – Wyświetli każdą stronę, jeżeli nie został utworzony dla niej osobny plik jak wyżej.
  5. singular.php – Wyświetli każdą stronę, jeżeli nie został utworzony dla niej osobny plik jak wyżej lub gdy page.php nie istnieje.
  6. index.php – Wyświetli każdą stronę, jeżeli nie został utworzony dla niej osobny plik jak wyżej lub gdy page.php oraz singular.php nie istnieje.

Hierarchia plików dla kategorii

Wpisy przypisane do danej kategorii, możemy wyświetlić za pomocą:

  • category-[slug].php – Jeżeli slug to rowery-szosowe, wówczas WordPress będzie szukał pliku o nazwie category-rowery-szosowe.php.
  • category-[id].php – Jeżeli istnieje kategoria o numerze ID 7, wówczas WordPress poszuka pliku o nazwie category-7.php.
  • category.php – Wyświetli każdą kategorię, jeżeli nie został utworzony dla niej osobny plik jak wyżej.
  • archive.php – Wyświetli każdą kategorię, jeżeli nie został utworzony dla niej osobny plik jak wyżej lub gdy category.php nie istnieje.
  • index.php – Wyświetli każdą kategorię, jeżeli nie został utworzony dla niej osobny plik jak wyżej lub gdy category.php oraz archive.php nie istnieje.

Hierarchia plików dla tagów

Do wyświetlania strony tagów służy następująca hierarchia:

  1. tag-[slug].php – Jeżeli slug to rowery-szosowe, wówczas WordPress będzie szukał pliku o nazwie category-rowery-szosowe.php.
  2. tag-[id].php – Jeżeli istnieje tag o numerze ID 7, wówczas WordPress poszuka pliku o nazwie tag-7.php.
  3. tag.php – Wyświetli każdą kategorię, jeżeli nie został utworzony dla niej osobny plik jak wyżej.
  4. archive.php – Wyświetli każdą kategorię, jeżeli nie został utworzony dla niej osobny plik jak wyżej lub gdy tag.php nie istnieje.
  5. index.php – Wyświetli każdą kategorię, jeżeli nie został utworzony dla niej osobny plik jak wyżej lub gdy tag.php oraz archive.php nie istnieje.

Hierarchia plików dla autora

Wyświetlanie autora postów służy:

  1. author-[<code>nicename].php – Jeżeli imię autora to wpdoc, wówczas WordPress będzie szukał pliku o nazwie author-wpdoc.php.
  2. author-[id].php – Jeżeli istnieje autor o numerze ID 7, wówczas WordPress poszuka pliku o nazwie autor-7.php.
  3. author.php – Wyświetli wpisy każdego autora, jeżeli nie został utworzony dla niej osobny plik jak wyżej.
  4. archive.php – Wyświetli każdą kategorię, jeżeli nie został utworzony dla niej osobny plik jak wyżej lub gdy category.php nie istnieje.
  5. index.php – Wyświetli każdą kategorię, jeżeli nie został utworzony dla niej osobny plik jak wyżej lub gdy autor.php oraz archive.php nie istnieje.

Hierarchia plików dla daty wpisu

Posty o określonej dacie mają osobny plik do wyświetlania postów:

  1. date.php
  2. archive.php – Wyświetli wpisy danej daty, jeżeli nie został utworzony plik date.php.
  3. index.php – Wyświetli wpisy danej daty, jeżeli nie został utworzony plik date.php oraz archive.php.

Wyniki szukania

Jeżeli na stronie istnieje wyszukiwarka postów, wynik jej działania można wyświetlićza pomocą:

  1. search.php
  2. index.php – Jeżeli plik search.php nie istnieje.

Strona 404

W przypadku wystąpienia błędu 404 na stronie, można ją wyświetlić w osobnym pliku:

  • 404.php
  • index.php – Jeżeli 404.php nie istieje.

Powyższy opis został zobrazowany za pomocą interaktywnego wykresu, który można zobaczyć pod adresem www.wphierarchy.com. Natomiast dokładny opis hierarchii plików znajdziesz w oficjalnej dokumentacji pod adresem www.developer.wordpress.org/themes/basics/template-hierarchy (wersja angielska).

Zauważ, że w przypadku braku odpowiedniego pliku, ostatecznie WordPress szuka pliku index.php. Oznacza to, że cały motyw można zamknąć w obrębie jednego pliku. Jednak takie podejście jest mało praktyczne. Znacznie trudniej będzie wprowadzać modyfikacje przez wydłużony kod pliku index.php.

Zasada działania

Jak widać możliwości wyświetlenia treści jest bardzo duża. Dzięki takiemu podejściu każda kategoria może mieć inny wygląd. W uproszczonym przykładzie, sklep może posiadać dwie kategorie Produkty oraz Promocje. W pliku cateogry.php wyświetlamy wszystkie produkty, natomiast w pliku category-7.php (jeżeli kategoria Promocje ma ID równy 7), wyświetlamy produkty w promocji, gdzie posiadają dodatkowy napis lub grafikę „Promocja”, czas trwania promocji, oraz cenę przed i w trakcie promocji.

W kolejnych etapach będziemy tworzyć poszczególne pliki dla motywu, dokładnie poznając ich przeznaczenie oraz zasadę działania.

Czytaj dalej…

02.08 Wpisy z kategorii

KOMENTARZE

Jeżeli masz pytanie lub sugestie dotyczącą artykułu to napisz komentarz. Wartościowe komentarze zostaną umieszczone jako opinie warte uwagi.

Napisz komentarz

Wszystkie pola są obowiązkowe. E-mail nie będzie udostępniony, ani wykorzystywany do rozsyłania wiadomości reklamowych.

Jeszcze nikt nie napisał komentarza.