Własna wtyczka WordPress. Jak napisać plugin do WP część 2.

Własna wtyczka w WordPress. Jak stworzyć wtyczkę od postaw w WordPress – część 2. Czym się różnią akcje, od filtrów w WP ?

Dalsza część poradnika o tym jak stworzyć własną wtyczkę do WordPress’a. Przypomnę, że naszym zamierzeniem jest stworzenie wtyczki, która będzie dodawała newsy na stronie głównej, z wybranej kategorii. W tej części poradnika dowiecie się co to są akcje, oraz filtry i czym się od siebie różnią.

wordpress-podstawy-300x107 Własna wtyczka Wordpress. Jak napisać plugin do WP część 2.Źródło: flickr, mkhmarketing

Akcje, oraz filtry w WordPress – bez tajemnic !

Sukces WordPressa to między innymi modularna budowa, pozwalająca na modyfikację poszczególnych elementów bez wgłębiania się w olbrzymią ilość kodu. Wyobraźcie sobie dużą szafkę z szufladami i pod-szufladami, gdzie każda z szuflad jest opisana min.

  • nagłówek (tytuł, meta tagi itp..)
  • pojedynczy wpis (treść, informacje o autorze itp..)
  • stopka
  • …..

Chcąc wyświetlić tytuł strony WP otwiera szufladę nagłówek i sprawdza, co się w niej znajduje – a dokładniej szuka zarejestrowanych filtrów i akcji. Wtyczki, które tworzymy rejestrują nowe filtry i akcje, które są umieszczane w odpowiednich szufladach i „aktywowane” w odpowiednim momencie. Na każdym etapie wywoływane są odpowiednie hacki (zwane również zaczepami) – to właśnie sprawia, że nawet osoba nie potrafiąca zbyt dobrze programować odnajdzie się w tym środowisku – nie trzeba dłubać w kodzie, wystarczy aktywować odpowiedni „zaczep„.

WordPress – co to są filtry

W poprzednim przykładzie dodaliśmy do naszej pierwszej wtyczki filtr modyfikujący zawartość tekstu wyświetlanego w pojedynczych wpisach – wyglądało to mniej więcej tak:

 
add_filter('the_content', 'dodajTekst');

Jako parametr podajemy dwa argumenty – nazwę zaczepu (hacka), oraz nazwę funkcji, która będzie wykonywana na tym zaczepie.

Filtry są niejako pośrednikami pomiędzy tym co „wychodzi” z bazy danych, a tym co dostaje użytkownik. Innymi słowy filtr jak sama nazwa wskazuje, wybiera te rzeczy, które chcemy pokazać użytkownikowi – reasumując modyfikuje dane, które będą widoczne dla odbiorcy.

Załóżmy, że chcemy zmodyfikować tytuły wpisów wyświetlanych na naszej stronie – skorzystamy z zaczepu o nazwie the_title i stworzymy odpowiednią funkcję.

 
function zmienTytul($title){
return $title.' - najlepszy blog o tematyce IT ';
}
add_filter('the_title', 'zmienTytul');

Teraz, gdy WordPress będzie otwierał szufladę związaną z wyświetlaniem tytułu w postach, zobaczy że znajduje się tam nasz filtr i zmodyfikuje zawartość widoczną dla użytkownika – czyli do tytułu dopisze „najlepszy blog o tematyce IT”.

WordPress – co to są akcje ?

Akcje są bardzo podobne do filtrów, co zaraz zobaczycie – rejestracja akcji przebiega następująco:

  
add_action( 'nazwa_zaczepu', 'nazwa_funkcji' );

Budowa jest bardzo podobna – wręcz prawie identyczna ! Moglibyśmy zadać sobie pytanie – czym w takim razie różnią się akcje, od filtrów ….

Filtry otrzymują pewne dane na wejściu, które mogą przekształcić i zwrócić w zmienionej postaci. Akcje natomiast nie zwracają żadnego wyniku – ich zadaniem jest modyfikacja bazy danych, wyświetlenie czegoś, lub zmiana wyglądu. Różnica na początku może nie wydawać się zbyt duża – w praktyce zobaczycie, gdzie należy stosować akcję, a gdzie filtry – warto dodać, że niektóre rzeczy można wykonać zarówno za pomocą akcji, oraz filtru np. wyświetlenie tekstu na ekranie.

Skoro mieliśmy przykład filtra, to warto stworzyć coś w oparciu o akcję – będzie to prosty newsletter, który wyśle wiadomość e-mail do osób zainteresowanych informacją o pojawieniu się nowego wpisu na naszym blogu.

   
function wyslijEmail( $post_ID ) {
$adresy= 'przyjaciel1@przyklad.pl, przyjaciel2@przyklad.pl';
wp_mail( $adresy, "Pojawił się nowy wpis na blogu", 'Cześć, dodałem nowy wpis na blogu - blogkomputerowy.com.pl' );
return $post_ID;
}
add_action( 'publish_post', 'wyslijEmail' );

Jako zaczep podaliśmy publish_post, ponieważ chcemy aby funkcja wyslijEmail została uruchamiana w  momencie opublikowania nowego postu.

Skąd mam wiedzieć jakie są zaczepy (hooks) dla akcji, oraz filtrów ?

Nie musisz ich znać na pamięć – wszystko znajduje się w dokumentacji WordPressa. Z niektórych zaczepów korzysta się częściej, z innych rzadziej – od tego co będzie miała realizować twoja wtyczka, zależy to z jakiego zaczepu skorzystasz.

Polecam również zajrzeć na stronę Adama Browna, który skatalogował zbiór hacków w zależności od wersji WordPressa : http://adambrown.info/p/wp_hooks

Przeczytaj również

Ipad blokowanie reklam na stronach internetowych. ... Niezależnie od tego jakim urządzeniem dysponujesz, nikt nie lubi reklam na stronach internetowych, dlatego w tym wpisie pokażę rozwiązanie, dzięki któ...
Sposób na ominięcie bana na IP! Jak ominąć forumow... Zazwyczaj zaczyna się od ostrzeżeń, jednak gdy one nie skutkują to moderatorzy forum sięgają po bardziej rygorystyczny środek jakim jest całkowity zak...
Marketing automation – automatyzacja procesów mark... W ostatnich latach pojawił się nowy trend - automatyzacja marketingu. Na czym ona polega i czy warto z niej korzystać? Tego dowiesz się w niniejszym a...
Ile można zarobić na Youtube. Zarabianie na filmik... Zarabianie na Youtube - jakie są zarobki na Polskim YT ? Co trzeba zrobić, aby zarabiać na Youtube. Ile można zarobić na Youtube ? Ile zarabiają najpo...

Dodaj komentarz

Twój adres email nie zostanie opublikowany.