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.
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:
- jesli nr kategorii jest równy 4 szuka pliku szablonu o nazwie category-4.php
- jeśli nie znalazł szuka pliku szablonu o nazwie category.php
- Jeśli nie znalazł szuka pliku szablonu o nazwie archive.php
- 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.