Dodano 2016-11-28 09:04:54 przez Daniel
WordPress oprócz nagłówka i stopki oferuje także panel dodatkowy, którzy może być na przykład panelem bocznym. Najczęściej wykorzystujemy ten panel aby umieścić w nim widgety oraz jakieś dodatkowe informacje czy reklamy, które w zasadzie najczęściej zawierają się także w widgetach. Konstrukcja jest całkiem prosta.
Pierwszą rzeczą jaką robimy by stworzyć panel dodatkowy jest utworzenie nowego pliku w katalogu głównym naszego szablonu o nazwie sidebar.php. W tym pliku umieszczamy teraz napis <b>Panel boczny</b>. Teraz gdy już zapisaliśmy ten plik, otwieramy index php i pod napisem „Witaj świecie” a nad funkcją stopki (get_footer) umieszczamy funkcję
get_sidebar()
Spowoduje to wczytanie zawartości niedawno utworzonego pliku i wyświetlenie w oknie przeglądarki pogrubionego napisu „Panel boczny” gdzieś pomiędzy napisem witaj świecie a treścią naszej stopki. Możemy tam umieszczać dowolną treść, dowolny kod html, ale to by było niezbyt elastyczne i przejrzyste dla przeciętnego użytkownika dlatego też zdefiniujemy sobie w tym miejscu widgety.
Podążając dalej za standardami WordPressa, aby zdefiniować miejsce na widgety tworzymy kolejny plik o nazwie functions.php jest to bardzo ważny plik ponieważ w nim umieszczamy kod związany z funkcjonalnością naszej strony. I tak właśnie w tym miejscu ustalamy sidebar. Aby to zrobić najpierw rejestrujemy „sidebar” wykorzystując w tym celu funkcję:
register_sidebar( $args );
Pobiera on kilka parametrów:
Powyższe parametry umieszczamy w tablicy asocjacyjnej, dają one spore możliwości aczkolwiek czasami to też zbyt mało ale możemy skorzystać z zaczepów i filtrów dzięki czemu w stosunkowo łatwy sposób można poszerzyć funkcjonalność jeszcze bardziej.
Aby zarejestrować sidebar, musimy umieścić tę definicję w fukcji, którą później dodamy zaczepimy. Więcej o zaczepach można przeczytać Tutaj. W tym przypadku wykorzystujemy zaczep widgets_init.
W naszym pliku functions.php umieszczamy następujący kod:
function zwp_init_widgets(){
$args = array(
'name' => 'Panel boczny',
'id' => 'identyfikator-panelu-bocznego',
'description' => 'Opis panelu bocznego powtarzającego się na różnych stronach',
'class' => '',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3 class="widget_title">',
'after_title' => '</h3>' );
register_sidebar( $args );
}
add_action('widgets_init',"zwp_init_widgets");
Kolejnym krokiem jest wyświetlenie sidebara w odpowiednim miejscu. Tutaj warto sprawdzić wcześniej czy dany sidebar jest aktywny. Do tego celu wykorzystujemy funkcję:
is_active_sidebar( 'identyfikator sidebara' )
Powyższa funkcja zwraca prawdę gdy sidebar jest aktywny lub fałsz jesli nie jest aktywny. Umieszczamy tę funkcję w warunku a następnie jeśli sidebar jest aktywny wykorzystujemy funkcję do wyświetlania dynamicznych sidebarów. W tym celu wykorzystujemy funkcję:
dynamic_sidebar( 'identyfikator sidebara' );
która zwraca nam po kolei widgety dodane w kokpicie administratora. Teraz otwieramy nasz wcześniej utworzony plik sidebar.php i umieszczamy w nim następujący kod.
if( is_active_sidebar('identyfikator-panelu-bocznego')){ dynamic_sidebar('identyfikator-panelu-bocznego'); }
No i to by było na tyle jeśli chodzi o kodowanie. Na razie efekt na stronie jest całkowicie niewidoczny i wygląda jak na obrazku poniżej:
Teraz przechodzimy do kokpitu. Wchodzimy w zakładkę Wygląd > Widgety , tam powinniśmy w tym momencie zobaczyć dodany panel boczny, do którego możemy dodawać kolejne widgety.
W tym momencie dodajemy dwa chyba najczęściej wykorzystywane widgety czyli tekst oraz własne menu. W przypadku tekstu sprawa jest bardzo prosta, wpisujemy tytuł i treść i zapisujemy. Można tutaj także zaznaczyć aby WordPress sam robił akapity. Możemy wstawiać także kod html. Dzięki temu rozwiązaniu możemy w naszym szablonie raz zdefiniować panel a za każdym następnym razem edytować, dodawać lub usuwać elementy z poziomu kokpitu, co jest znacznie mniej skomplikowane i nie wymaga narzędzi. Jest to świetne rozwiązanie jeśli tworzymy strony na zlecenie, znacznie łatwiej jest wytłumaczyć klientowi jak zmienić tekst w kokpicie administratora niż jak to zrobić w kodzie.
Kolejnym bardzo często używanym widgetem jest menu. Możemy tworzyć dowolną ilość menu i umieszczać je w dowolnych miejscach na stronie. Bardzo często menu główne umieszcza się gdzieś na górze strony a w stopce menu dodatkowe prowadzące do polityki prywatności regulaminów i innych podstron jak „o nas” czy kontakt. Na początku mamy dostepne menu 1, które wykorzystamy sobie w tym przykładzie.
Po wybraniu zapisujemy w obu przypadkach i gotowe. Na ten moment efekt nie jest zbyt zachwycający, ponieważ nie określiliśmy jeszcze żadnych stylów.
Dodawanie paneli i widgetów jest bardzo popularne przy tworzeniu szablonów i wykorzystuje się je praktycznie w każdym własnym szablonie. Szczególnie istotne jest to jeśli tworzymy stronę na zamówienie, wówczas należy zadbać aby strona była jak najbardziej elastyczna a zarazem aby jej obsługa była jak najprostsza. Aby dodać panel z widgetami wystarczy wykonać następujący algorytm:
Pamiętaj: sidebary możesz dodawać nie tylko w pliku sidebar.php lecz w każdym miejscu na stronie gdzie ci pasuje. Warto jednak rejestrować wszystkie w tej samej funkcji zdefiniowanej w pliku functions.php
W kolejnej części nauczymy się dodawać style i skrypty do naszego szablonu.