publikacja: 14 października 2008, autor: , komentarzy 13 https://wpninja.pl/artykuly/pliki-szablonow-wordpressa-czesc-4-dzielimy-kod/

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


Warning: Trying to access array offset on false in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/functions.php on line 159
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

  1. kavillock 15 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

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

    comments-popup.php
    searchform.php
    attachment.php

    odpowiedz
  2. Marcin 15 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

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

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

    odpowiedz
  3. Agahmemnon 15 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

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

    odpowiedz
  4. Maciek 15 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Uhh, czemu oni to tak skomplikowali? ;-)

    @Marcin, dzięki za linka.

    odpowiedz
  5. Wojciech Usarzewicz 15 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

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

    odpowiedz
  6. marsjaninzmarsa 14 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    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 14 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

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

    odpowiedz
  8. Nexik 14 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    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 14 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Aha, dzięki. :)

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

    odpowiedz
  10. marsjaninzmarsa 14 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    @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 14 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

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

    odpowiedz
  12. Najlepsze artykuły o tworzeniu skórek do WordPressa « Interaktywni.net 13 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

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

    odpowiedz
  13. Michal 12 lat temu:
    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43

    W 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ę:)

    odpowiedz

Dodaj własny komentarz


Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 95

Odnośniki z innych stron

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 […]