publikacja: 14 października 2008, 11:41; autor: Wojciech Usarzewicz http://wpninja.pl/artykuly/pliki-szablonow-wordpressa-czesc-4-dzielimy-kod/

Pliki szablonów WordPressa - część 4 - Dzielimy kod

Pliki szablonów WordPressa - część 4 - Dzielimy kod

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 oraz single.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 (11)

  1. kavillock kavillock 1207 dni temu:

    ładne tylko ja w swoim szablonie mam takie coś i niewiem po co

    comments-popup.php
    searchform.php
    attachment.php

    odpowiedz
  2. Marcin Marcin 1207 dni temu:

    Bardzo przyjaźnie do ogarnięcia jest w formie rysunku:

    http://codex.wordpress.org/images/1/18/Template_Hierarchy.png

    odpowiedz
  3. Agahmemnon Agahmemnon 1207 dni temu:

    nie kłóćmy się, takie pierdoły to nie jest nic

    odpowiedz
  4. Maciek Maciek 1206 dni temu:

    Uhh, czemu oni to tak skomplikowali? ;-)

    @Marcin, dzięki za linka.

    odpowiedz
  5. Wojciech Usarzewicz Wojciech Usarzewicz 1205 dni temu:

    Skomplikowali to dlatego, iż taki system umożliwia tworzenie bardzo, ale to bardzo dynamicznych i zróżnicowanych witryn.

    odpowiedz
  6. marsjaninzmarsa marsjaninzmarsa 596 dni temu:

    Ok. 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?

    odpowiedz
  7. Szymon Skulimowski Szymon Skulimowski 596 dni temu:

    Tak, ale chyba logiczniej byłoby wstawienie obu przez zwykłego includa.

    odpowiedz
  8. Nexik Nexik 596 dni temu:

    WP 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’);

    odpowiedz
  9. marsjaninzmarsa marsjaninzmarsa 596 dni temu:

    Aha, dzięki. :)

    W sumie myślałem, że da się to jakoś ładniej załatwić, ale to nic nie szkodzi. :)

    odpowiedz
  10. marsjaninzmarsa marsjaninzmarsa 596 dni temu:

    @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… ;)

    odpowiedz
  11. Drakee Drakee 577 dni temu:

    Bardzo dobry artykuł. Właśnie zaczynam zabawę z szablonami do WP i pomógł mi bardzo. Dzięki :)

    odpowiedz

Dodaj własny komentarz

Odnośniki z innych stron (1)

Lista innych stron, które w jakiś sposób odnoszą się do opublikowanej tutaj treści:

  1. Najlepsze artykuły o tworzeniu skórek do WordPressa « Interaktywni.net

    […] Pliki szablonów WordPressa – część 4 – Dzielimy kod – wpninja.pl […]