Nasz blog wyświetla już wpisy, a już wkrótce będzie obsługiwał strony statyczne – i to właśnie na tych zagadnieniach (a także kilku innych krążących wokół) zajmiemy się w tej części serii o szablonach WordPressa – będzie trochę abstrakcyjnego myślenia i trochę teorii – dzisiaj raczej nie pokodujecie – zbytnio…
Skąd WordPress wie, co jest zwykłym wpisem na blogu, a co jest stroną statyczną? Wszelkie informacje potrzebne silnikowi do rozkminienia tego zagadnienia zapisane są w bazie danych – nie wdając się w szczegóły, przedstawię to obrazowo: w momencie, gdy zapisujemy treść czy to przez panel dodawanie wpisów, czy przez panel dodawania stron statycznych, WordPress dodaje do wpisu informację 1 bądź 2 – gdy następnie treść jest odczytywana do wyświetlenia na naszym blogu, WordPress odczytuje z odpowiedniej tabeli w bazie danych wartość numeryczną, która jest na stałe przypisana do określonego typu treści – i tak 1 jest wpisem, a 2 stroną statyczną – wiedząc to, WordPress automatycznie przypisuje odpowiedni szablon do wyświetlanej treści.
Pliki szablonów – wersja dla zaawansowanych
I tutaj dochodzimy do właściwego podziału plików w szablonie WordPressa, który to podział umożliwia nam tworzenie bardzo dynamicznych stron. Standardową stroną jest index.php – to już wiemy. Co jednak odpowiada za wyświetlanie pozostałych elementów?
- single.php – plik ten odpowiada za wyświetlanie pojedyńczych wpisów i jest wykrywany automatycznie;
- page.php – ten zaś plik wyświetla strony statyczne – również jest wykrywany automatycznie – dzięki takiemu podziałowi wygląd wpisów i stron może się różnić;
- 404.php – strona błędu – jeśli nie znaleziono strony bądź wpisu w bazie danych, ta właśnie strona będzie serwowana użytkownikowi;
- archive.php – kombajn – służy do wyświetla archiwum dla kategorii, tagów, autorów bądź dat;
- comments.php – plik odpowiada za wyświetlanie komentarzy oraz formularza dodawania komentarza, plik nie jest wykrywany automatycznie, musimy w kodzie
single.php
bądźpage.php
wstawić funkcjęcomments_template()
; - footer.php – plik będący stopką strony, nie pełni innych funkcji, jest jednak elementem „porządkowym” – jeden plik dla całej strony. Wywołujemy go funkcją get_footer();
- functions.php – plik funkcji dodatkowych, w którym możemy zdefiniować Widgety, czy dodatkowe elementy dynamiczne naszego szablonu;
- header.php – nagłówek strony, podobnie jak
footer.php
stanowi element porządkowy, a wywoływany jest funkcjąget_header()
; - search.php – działa podobnie jak
archive.php
, odpowiedzialny jednak jest tylko za wyświetlanie wyszukiwanej treści; - sidebar.php – kolejny plik wywoływany przez funkcję, tym razem brzmiącą
get_sidebar()
– odpowiada za wyświetlanie panelu bocznego; - author.php – to takie połączenie
page.php
orazsingle.php
– odpowiada za wyświetlanie strony autora i może zawierać treść dynamiczną (ostatnie wpisy) bądź np. biografię autora :);
Hierachia plików
Nasz blog może działać posiadając tylko pliki style.css
oraz index.php
– dzieje się tak dzięki hierarchi plików. Dla przykładu: wyświetlając archiwum dla danej kategorii, WordPress najpierw poszuka pliku archive.php
, a jeśli go nie znajdzie, wyświetli treść w pliku index.php
. Podobnie jest ze stronami – nie odnajdując page.php
, WordPress poszuka single.php
, a następnie index.php
.
Kończąc powiem jeszcze, że dobrym zwyczajem jest, aby każdy z plików wyświetlających treść (page.php
, single.php
, index.php
, archive.php
, search.php
itd.) powinien posiadać na górze funkcję get_header()
, a na dole get_footer()
, w odpowiednim zaś miejscu funkcję get_sidebar()
– dzięki temu wszystko będzie pięknie działać. W kolejnej części zajmiemy się tworzeniem własnych szablonów stron oraz „zwidgetyzujemy” panel boczny!
Komentarze
ładne tylko ja w swoim szablonie mam takie coś i niewiem po co
comments-popup.php
odpowiedzsearchform.php
attachment.php
Bardzo przyjaźnie do ogarnięcia jest w formie rysunku:
https://codex.wordpress.org/images/1/18/Template_Hierarchy.png
odpowiedznie kłóćmy się, takie pierdoły to nie jest nic
odpowiedzUhh, czemu oni to tak skomplikowali? ;-)
@Marcin, dzięki za linka.
odpowiedzSkomplikowali to dlatego, iż taki system umożliwia tworzenie bardzo, ale to bardzo dynamicznych i zróżnicowanych witryn.
odpowiedzOk. A co, jeśli chcę wstawić dwa panele boczne, jeden po prawej, a drugi po lewej stronie? Jeden muszę wywołać standardowo, a do drugiego zrobić zwykłe include?
odpowiedzTak, ale chyba logiczniej byłoby wstawienie obu przez zwykłego includa.
odpowiedzWP 3.0 wspiera nowy wygodny system budowania templatek jako boxy moze zrobic pliki sidebar-left.php oraz sidebar-right.php i wyswietlic je w templatce za pomoca funkcji get_template_part(’sidebar’,’left’); oraz get_template_part(’sidebar’,’right’);
odpowiedzAha, dzięki. :)
W sumie myślałem, że da się to jakoś ładniej załatwić, ale to nic nie szkodzi. :)
odpowiedz@Nexik: Dzięki! Nie sądziłem, że nowa wersja WP przyniesie aż tyle nowości, które będą dla mnie przydatne. No bo np integracja z wersją WPMU – super, ale mi to i tak nie robi różnicy, bo nie używam. No a to to rozumiem… ;)
odpowiedzBardzo dobry artykuł. Właśnie zaczynam zabawę z szablonami do WP i pomógł mi bardzo. Dzięki :)
odpowiedz[…] Pliki szablonów WordPressa – część 4 – Dzielimy kod – wpninja.pl […]
odpowiedzW końcu zrozumiałem o chodzi z tymi plikami. Cały czas pracuje nad stronką, aby do strony statycznej dodać wpisy, ale format kiedy publikowałe wpisy to ich format zawsze był różny od stron statycznych. Teraz postaram się ujednolicić zawartość plików. Dziękuję:)
odpowiedzDodaj własny komentarz
Odnośniki z innych stron
Lista innych stron, które w jakiś sposób odnoszą się do opublikowanej tutaj treści:
[…] Pliki szablonów WordPressa – część 4 – Dzielimy kod – wpninja.pl […]