publikacja: 23 października 2008, autor: , komentarze 32 https://wpninja.pl/artykuly/pliki-szablonow-wordpressa-czesc-5-wlasne-szablony-i-panel-boczny/

Pliki szablonów WordPressa – część 5 – Własne szablony i panel boczny

Pliki szablonów WordPressa – część 5 – Własne szablony i panel boczny

Dzisiaj trochę pokodujemy (mam nadzieję, że skutecznie zarażam was miłością do rozkminiania mechaniki WordPressa), stworzymy własny szablon dla strony, nauczymy się tworzyć sekcje Widgetów, a przede wszystkim – nauczymy się korzystać z tych sekcji. Przygotujcie więc swoje ulubione programy do kodowania i bierzmy się do pracy :).

Własny szablon strony

Szablon Strony

Szablon Strony

Po lewej stronie widzimy sekcję wyboru szablonu strony – czym jest taki szablon? Generalnie jest to kolejny plik w folderze naszego tematu graficznego, który pozwala nam na wyświetlenie strony statycznej w unikalny sposób. Banalnym przykładem będzie strona z formularzem kontaktowym – możemy chociażby usunąć z niej panel boczny, umieścić twiordyj kod zamiast jakiejś wymyślnej funkcji itp. :).

Użycie szablonów jest bardzo proste – po stworzeniu strony, a przed publikacją wybieramy z przedstawionej na obrazku listy nazwę naszego szablonu. Wpierw musimy go jednak stworzyć. Tworzymy pusty plik *.php, a następnie wstawiamy do niego kod:

<?php
/*
Template Name: Kontakt
*/
?>

Voila – dzięki temu na naszej liście rozwijanej pojawi się pozycja „Kontakt”. Cała pozostała zawartość szablonu to już wasza inwencja. Teraz zajmijmy się prawdziwą zabawą – widgetami!

Budujemy sekcję widgetów

W tym celu musimy otworzyć plik functions.php, znajdujący się w folderze naszego tematu graficznego. Póki co jest on zapewne pusty, musimy więc wstawić odpowiedni kod:

if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'name'=>'sidebar_home',
        'before_widget' => '<div class="box %1$s">',
        'after_widget' => '</div>',
        'before_title' => '<h2>',
        'after_title' => '</h2>',
    ));

A teraz objaśnienia. pierwsza funkcja jest formalnością, następna register_sidebar() rejestruje sekcję widgetów. Niech was nie zmyli nazwa sidebar, sekcję widgetów tylko na panelu bocznym to przeszłość ;). Jak widzimy, parametry dla tej funkcji mają postać tablicy (array). Po kolei – name określa nazwę sekcji, before_widget określa znacznik html znajdujący się przed widgetem (w tym przypadku jest do DIV o klasie .box). %1$s zaś wstawi do klasy nazwę określonego widgeta. after_widget wstawia znacznik kończący widget, before_title otwiera nazwę widgeta, a after_title zamyka nazwę widgeta. Uff…

Wyświetlamy sekcję widgetów

Skoro już zbudowaliśmy sekcję naszych widgetów, musimy ją wyświetlić. Otwieramy odpowiedni plik tematu, ot choćby taki sidebar.php i wstawiamy odpowiedni kod:

<? if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar_home') ) : ?>
// Tutaj ewentualny kod;
<? endif; ?>

Zauważyliście zapewne nazwę sidebar_home – odpowiada ona za wyświetlenie odpowiedniego widgeta. Korzystając dalej z funkcji register_sidebar(), zmieniając tylko parametr name, jesteśmy w stanie zbudować całą masę różnych sekcji, które będą wyświetlane w różnych miejscach na stronie.

W środku instrukcji warunkowej możemy wstawić zaś określony kod, który będzie wyświetlany w przypadku, gdy żaden widget nie zostanie przypisany do sekcji z panelu zarządzania. Wnikliwsi pewnie już zauważyli, że powyższy kod nie tyle wyświetla naszą sekcję widgetów, co upewnia się, że nie powinna ona być wyświetlana ;). Nie jest to jednak aż tak ważne, bowiem wszystko działa.

Podsumowanie

Wiecie już jak stworzyć własny szablon strony, jak utworzyć dowolną ilość sekcji widgetów i jak wyświetlić poszczególne sekcje w dowolnym miejscu witryny. Byle tak dalej :).

Komentarze

  1. rek 9 lat temu:

    Witam !

    Szablony stron statycznych są dla mnie jasne jak słońce, ale jak zrobić żeby mieć róży wygląd kategorii wpisów (nie stron statycznych). Np. Mam kategorie ROWER i chciałbym, że wpisy w tej kategorii wyglądały inaczej niż np w kategorii ZNAJOMI. Różnice mogły by polegać np: innym kolorze nagłówków lub innym obramowaniu fotki, innym rodzaju czcionki itp.

    Jest na to jakiś sposób ?

    odpowiedz
  2. Adam Klimowski 9 lat temu:

    @rek: myślę, że pomoże Ci w tym Lorelle: http://lorelle.wordpress.com/2007/09/06/using-wordpress-categories-to-style-posts/

    odpowiedz
  3. rek 9 lat temu:

    Z tego co rozumiem to definiuje wygląd danych kategorii dla wpisów za pomocą css ?

    odpowiedz
  4. Szymon Skulimowski 9 lat temu:

    Dokładnie.

    odpowiedz
  5. rek 9 lat temu:

    Działa, dziękuje pięknie !!!

    odpowiedz
  6. ferus 9 lat temu:

    Witam – jaki plugin należy zainstalować i skonfigurować lub co należy zrobić – aby posiadać miniaturki graficzne posta przy poście – tak jak w przypadku postow na wpninja.pl ?

    odpowiedz
  7. Szymon Skulimowski 9 lat temu:

    @ferus,
    Trzeba ręcznie zaimplementować skrypt phpThumb.

    odpowiedz
  8. ferus 9 lat temu:

    Dzięki wielkie, zaraz sprawdzę.

    odpowiedz
  9. ferus 9 lat temu:

    Okej – dobrze, że znam PHP.
    Jednak zapytam się o teorię – w jaki sposób zaimplementować to do kodu wordpressa?

    odpowiedz
  10. Wojciech Usarzewicz 9 lat temu:

    Spokojnie, pracuję nad wyczerpującą instrukcją implementacji, wpis jest na dniach :)

    odpowiedz
  11. ferus 9 lat temu:

    Jeśli byłaby możliwość jednak skontaktować się z Tobą, ponieważ planuję zakodować szablon do końca już dziś i generalnie troszeczkę mnie to stopuje.. :)

    odpowiedz
  12. ferus 9 lat temu:

    @Wojciech Usarzewicz:
    Nie chcę być niegrzeczny, spytam tylko jak długo będzie nam dane jeszcze czekać, i nie mówię tylko w swojej osobie. :)

    odpowiedz
  13. Antec 9 lat temu:

    Witam! A jak ma wyglądać szablon strony statycznej, w którym będą wyświetlane tylko posty (tak samo jak na stronie głównej) z jednej wybranej kategorii? Z góry dzięki za pomoc.

    odpowiedz
  14. Szymon Skulimowski 9 lat temu:

    Wystarczy na jej początku dać:

    <?php query_posts('cat=43'); ?>

    gdzie 43 będzie id kategorii, którą chcesz pokazać.

    odpowiedz
  15. Antec 9 lat temu:

    Szymon dzięki za odpowiedź. Ta funkcja rzeczywiście działa. Z tym, że nie do końca. Bo gdy w kategorii której wpisy chcę wyświetlić na stronie statycznej nie działa podział na strony. Nawet gdy ręcznie wpiszę adres URL kolejnej strony z kategorii, to i tak cały czas pokazuje mi to samo. Masz może na to jakieś rozwiązanie?

    odpowiedz
  16. Szymon Skulimowski 9 lat temu:

    Masz może na to jakieś rozwiązanie?

    Najprościej? Korzystać po prostu ze stron kategorii :-).

    odpowiedz
  17. Antec 9 lat temu:

    Nie bardzo rozumiem. Czy mógłbyś to bardziej rozwinąć?

    odpowiedz
  18. Szymon Skulimowski 9 lat temu:

    Np. strona kategorii „podcasty” z Twojego bloga. Jedynym ograniczeniem może być brak swobody z formie odnośnika, który musi być poprzedzony odpowiednim oznaczeniem (standardowo category, do zmiany na inny w panelu administracyjnym).

    odpowiedz
  19. ferus 9 lat temu:

    Witam, mam kolejny problem, który trudno mi jest rozgryźć.
    Otóż na moim blogu który cały czas jest w trakcie tworzenia, pojawił się problem z grafiką.
    W IE i Operze jakość grafiki jest poprawna, wszystko wyświetla się w prawidłowo.
    A w Firefoxie – grafika wygląda jakby ktoś ją celowo rozmazał (na bokach) – mówię o pliku logo oraz moim zdjęciu po lewej stronie bloga.
    Czy ktoś napotkał taki problem, i jakie może być jego ew. rozwiązanie?
    Pozdrawiam

    odpowiedz
  20. Szymon Skulimowski 9 lat temu:

    Prawdę mówiąc to u mnie (Firefox i IE) grafiki wyglądają jednakowo.

    odpowiedz
  21. Greg 9 lat temu:

    Jak dla mnei to na razie bezużyteczne teksty.

    odpowiedz
  22. marsjaninzmarsa 9 lat temu:

    dzięki, właśnie tego szukałem :)

    odpowiedz
  23. groobcio 8 lat temu:

    Hej, czy jest sposób aby wyświetlić kategorie należące do konkretnej kategorii nadrzędnej ? Mam 2 kategorie nadrzędne i chciałbym, aby osobno wyświetlać stronkę z podkategoriami jednej kategori nadrzędnej i osobno z podkategoriami drugiej kategorii nadrzędnej.

    odpowiedz
  24. Krzysiek 7 lat temu:

    Mam takie pytanie. Korzystam z szablonu WordPressa Daily News. Czy możliwe jest wzbogacenie strony głównej tegoż szablonu o dodatkowe menu na górze lub na dole, lub dodanie jeszcze jednej jednej kolumny w której zawarte byłyby krótkie, newsy? Jestem słabo zapoznany z html. i php.
    Proszę o pomoc.

    odpowiedz
  25. Foto 7 lat temu:

    Oczywiście że można dodać własne kolumny :)

    odpowiedz
  26. Soplica 7 lat temu:

    Witam, Ja mam pytanie innej natury, chciałbym usunąć nagłówek ze strony statycznej .
    Stworzyłem dodatkowy szablon strony w oparciu o mój page.php i nazwałem go według przedstawionych tu instrukcji . Chciałbym jednak pozbyć się nagłówka z tej strony. Na pewno jest taka możliwość, tylko trzeba wiedzieć jak to zrobić :) . Przygodę z kodowaniem dopiero zaczynam , więc prosiłbym jeśli to możliwe, o odpowiedź przeznaczoną dla tych mniej zaawansowanych delikatnie mówiąc o moich umiejętnościach.

    odpowiedz
  27. Tomasz 3 lata temu:

    Od dłuższego czasu się zastanawiam dlaczego u mnie w szablonie Magazine Basic nie wyświetlają się miniaturki na stronie głównej choć widziałem strony wykorzystujące ten szablon na których takie miniaturki jest widać jak dla przykładu tu:
    http://rollingpinsandneedles.com/

    Nie wiem dokładnie w czym rzecz. Podobnie jak w kwestii ustalania szerokości wpisu oraz szerokości sidebarów. Próbowałem w stylach CSS, ale nie nic nie działa.

    odpowiedz
    1. Szymon Skulimowski 3 lata temu:

      Sprawdziłem wskazany motyw i jak najbardziej ma on wsparcie dla miniaturek. Czy próbowałeś użyć sekcji „ikona wpisu” (na stronie edycji wpisu)?

      odpowiedz

Dodaj własny komentarz

Odnośniki z innych stron

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

  1. Miniatury w locie czyli phpThumb() w akcji

    […] jednym z komentarzy na WPNinja pojawiło się pytanie: (…) jaki plugin należy zainstalować […]

  2. Krótkie podsumowanie: kwiecień 2009

    […] Pliki szablonów WordPressa – część 5 – Własne szablony i panel boczny Dzisiaj trochę pokodujemy (mam nadzieję, że skutecznie zarażam was miłością do rozkminiania mechaniki WordPressa), stworzymy własny szablon dla strony, nauczymy się tworzyć sekcje Widgetów, a przede wszystkim – nauczymy się korzystać z tych sekcji. Przygotujcie więc swoje ulubione programy do kodowania i bierzmy się do pracy :). […]

  3. Krótkie podsumowanie: maj/czerwiec 2009

    […] Pliki szablonów WordPressa – część 5 – Własne szablony i panel boczny Dzisiaj trochę pokodhttps://wpninja.pl/wp/wp-admin/index.phpujemy (mam nadzieję, że skutecznie zarażam was miłością do rozkminiania mechaniki WordPressa), stworzymy własny szablon dla strony, nauczymy się tworzyć sekcje Widgetów, a przede wszystkim – nauczymy się korzystać z tych sekcji. Przygotujcie więc swoje ulubione programy do kodowania i bierzmy się do pracy :). […]

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

    […] Pliki szablonów WordPressa – część 5 – Własne szablony i panel boczny – wpninja.pl […]