Pliki szablonów wordpressa oraz ich hierarchia

Już wiemy jakie dwa pliki są wymaganę do utworzenia nowego szablonu. Dowiedzieliśmy się o tym w pierwszym wpisie na temat wordpressa zatytułowanym WordPress – tworzenie nowego szablonu – Budowa szablonu .
Teraz, natomiast wypiszę listę plików, które wchodzą w skład szablonu do wordpressa, lecz nie są wymagane. Opiszę je pokrótce oraz przedstawię ich hierarchię / sposób wykorzystania przez silnik wordpressa.

Thank you for reading this post, don't forget to subscribe!

Wizualny diagram plików wordpressa

Przedstawia on ściężkę jaką CMS przechodzi do wygenerowania odpowiedniego wyniku. Credit: codex.wordpress.org

Opis plików szablonów wordpressa- i ich “droga do sławy”

Kolejność plików w poszczególnych punktach nie jest przypadkowa. WordPress aby wyświetlić treść sprawdza wszystkie możliwości drogi począwszy od pierwszego pliku. Jeśli uzyska odpowiedź pozytywną wyświetla treść korzystając z danego pliku jeśli nie uzyska “pozytywu” przechodzi do następnego pliku, i tak sprawdza aż do index.php, który w razie braku innych plików odpowiada za wyświetlenie wymaganej treści.


Przykład działania:

Jeśli nasza strona znajduje sie pod adresem www.hackwars.pl/ i użytkownik będąc na tej stronie przechodzi do kategorii www.hackwars.pl/jakaś_kategoria/ wtedy wordpress szuka odpowiedniego pliku w katalogu gdzie znajduje się nasz layout (u nas: \wp-content\themes\hackwars\), podejmując takie akcje:

  1. jesli nr kategorii jest równy 4 szuka pliku szablonu o nazwie category-4.php
  2. jeśli nie znalazł szuka pliku szablonu o nazwie category.php
  3. Jeśli nie znalazł szuka pliku szablonu o nazwie archive.php
  4. Jeśli i tego pliku nie znalazł to wywołuje główny plik szablonu index.php

Dzięki takiemu rozwiązaniu, każdej stronie możemy nadać indywidualny wygląd.

Pliki odpowiedzialne za wyświetlenie strony głównej.

  • home.php
  • index.php

“Wyświetlacz pierwszej strony”

  • front-page.php – plik używany do wyświetlania pierwszej strony podczas ładowania bloga, może być zarówno użyty dla strony głównej jak również dla stron statycznych.

Pliki stosowane do wyświetlania pojedynczego wpisu:

  • single-{typ-wpisu}.php – Jeśli za “typ-wpisu” na przykład wpiszemy kosmos, wordpress będzie szukał pliku single-kosmos.php.
  • single.php
  • index.php

Wyświetlanie strony statycznej

  • custom-template.php
  • page-{tytuł}.php – Jeśli za “tytuł” na przykład wpiszemy kosmos, wordpress będzie szukał pliku page-kosmos.php.
  • page-{id}.php – Jeśli id strony będzie równe 4, wordpress będzie szukał pliku page-4.php.
  • page.php
  • index.php

Wyświetlanie kategorii

  • category-{tytuł}.php – Jeśli za “tytuł” na przykład wpiszemy kosmos, wordpress będzie szukał pliku category-kosmos.php.
  • category-{id}.php – Jeśli id kategorii będzie równe 4, wordpress będzie szukał pliku category-4.php.
  • category.php
  • archive.php
  • index.php


Wyświetlanie strony tagowej

  • tag-{tytuł}.php – Jeśli za “tytuł” na przykład wpiszemy kosmos, wordpress będzie szukał pliku tag-kosmos.php.
  • tag-{id}.php – Jeśli id tagu będzie równe 4, wordpress będzie szukał pliku tag-4.php.
  • tag.php
  • archive.php
  • index.php

Strona taksonomii

  • taxonomy-{taksonomia}-{terminy}.php – Jeśli za taksonomia wpiszemy jakis_tax i za terminy wpiszemy jakis_term, wordpress będzie szukał pliku taxonomy-jakis_tax-jakis-term.php
  • taxonomy-{taksonomia}.php – Jeśli za “taksonomia” na przykład wpiszemy kosmos, wordpress będzie szukał pliku taxonomy-kosmos.php.
  • taxonomy.php
  • archive.php
  • index.php

Wyświetlanie archiwum

  • archive-{typ-wpisu}.php – Jeśli za “typ-wpisu” na przykład wpiszemy kosmos, wordpress będzie szukał pliku archive-kosmos.php.
  • archive.php
  • index.php

Wysiwietlanie strony autora

  • author-{nicename}.php – Jeeśli autor będzie miał nick japolak wtedy wordpress będzie szukał pliku author-japolak.php.
  • author-{id}.php – Jeśli id autora będzie równe 4, wordpress będzie szukał pliku author-4.php.
  • author.php
  • archive.php
  • index.php

Wyświetlanie daty

  • date.php
  • archive.php
  • index.php

Wyświetlanie wyników wyszukiwania

  • search.php
  • index.php

Wyświetlanie błędu 404 (Not Found)

  • 404.php
  • index.php

Wyświetlanie załącznika

  • MIME_type.php – to może być jakikolwiek typ MINE (image.php, video.php, application.php).
  • attachment.php
  • single-attachment.php
  • single.php
  • index.php

Pliki inkludowane

Warto jeszcze wspomnieć o podstawowych plikach szablonu wywoływanych przez funkcje. Są to:

Plik nagłówka:

  • header-{name}.php – wywoływany przez funkcję
  • header.php – wywoływany przez funkcję

Plik paska bocznego:

  • sidebar-{name}.php – wywoływany przez funkcję
  • sidebarphp – wywoływany przez funkcję

Plik stopki:

  • footer-{name}.php – wywoływany przez funkcję
  • footer.php – wywoływany przez funkcję

Plik komentarzy:

  • comments.php – wywoływany przez funkcję

Plik wyszukiwarki:

  • searchform.php – wywoływany przez funkcję

Przykład użycia:

Dla wyświetlenia strony błędu, plik 404.php:

<?php get_header(); ?>
<h2>Error 404 - Not Found</h2>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Z wykorzystaniem różnych nagłówków na stronach:

<?php
if ( is_home() ) :
  get_header('home');
elseif ( is_404() ) :
  get_header('404');
else :
  get_header();
endif;
?>

Więcej na ich temat napisze w przyszłych artykułach.

Na koniec pamiętać trzeba o pliku : functions.php, jeśli takowego sobie stworzymy w naszym folderze gdzie znajduje się szablon, WordPress będzie szukał tam funkcji zdefiniowanych przez użytkownika.
Działa to tak jak dziedziczenie po klasach. Jeśli wordpress znajdzie w tym pliku funkcję o tej samej nazwie co zdefiniowana w domyślnym pliku functions.php to skorzysta z naszej. Jeśli nie to skorzysta z tej która jest zdefiniowana jako domyślnie.