#3 Tworzenie wtyczki WordPress. Haki filtrów


27 lutego 2016 / Michał Kortas


To tylko jeden wpis z serii Tworzenie wtyczki WordPress. Obecne i przyszłe artykuły dostępne będą pod specjalnym tagiem Wtyczka WordPress.

Poprzednim wpisem na temat haków akcji pokazałem Ci, w jaki sposób stworzyć prostą wtyczkę, umieszczającą kod Google Analitics na witrynie WordPress. Dzisiaj chciałbym Ci pokazać, jak skorzystać z filtrów, na przykładzie kolejnego modułu, umieszczającego reklamy Google Ansense w treści każdego pojedynczego artykułu.

Projekt na GitHub Zapytaj na forum

Zapraszam Cię do lektury trzeciej części cyklu Tworzenie wtyczki WordPress.

Kursy wideo WordPress

Podstawowy szkielet wtyczki

Jak już dobrze wiesz, należy zacząć od stworzenia katalogu i pierwszego pliku PHP. W moim przypadku wtyczka otrzyma nazwę wbrd_ads.

Kod reklamy AdSense

Żeby nie rozwlekać kodu, zakładam, że będzie to reklama automatycznie dostosowująca rozmiary, ładowana asynchronicznie, a w jej kodzie dwiema zmiennymi pobietanymi z ustawień wtyczki będą identyfikatory klienta (ad-client) i reklamy (ad-slot).

Metoda wyświetlająca kod reklamy

Analogicznie do ostatniej wtyczki, stwórz teraz metodę, która zwracać będzie kod reklamy.

Metoda edytująca treść wpisu

Masz już kod reklamy, za pomocą któregoś z haków akcji mógłbyś go teraz przypiąć w różnych miejscach witryny. Dzisiaj zajmiesz się filtrowaniem treści, dlatego dopisz metodę, której argumentem będzie cała treść wpisu, a jej ciałem kod edytujący kontent.

Dopinanie się do haka

Tym razem skorzystasz z funkcji add_filter, oraz haka o nazwie the_content. Spójrz, jakie to proste.

Pierwszy efekt

Reklama pojawia się pod wpisem.

Responsywna reklama Google AdSense

Tworzenie panelu ustawień

Zadowolony z dotychczasowej pracy? I bardzo dobrze!

Korzystając z wiedzy zdobytej w drugiej części cyklu, stworzysz teraz prosty panel ustawień wtyczki.

Dodawanie odnośnika w menu

Ten kod powinien być Ci już znajomy.

Inicjacja formularza ustawień

Rejestracja sekcji i pól formularza

Zauważ, że ta wtyczka posiada dwa pola tekstowe.

Metoda czyszcząca

Nie pozwól wpisać niechcianego kodu!

Callbacki

Dodaj krótki opis, zdjęcie poglądowe oraz strukturę pól formularza.

Rozbudowa konstruktora

Pamiętałeś o podpięciu się pod odpowiednie haki?

Aktualizacja metody zwracającej kod reklamy

W kodzie reklamy musisz jeszcze podpiąć parametry pobierane z bazy danych.

Nadążasz? Jeśli masz problemy ze zrozumieniem kodu dotyczącego ustawień, zapraszam Cię do prześledzenia poprzedniego wpisu.

Tworzenie obiektu

Pozostało Ci jeszcze stworzenie nowego obiektu klasy wbrd_ads.

Wygląd panelu ustawień wtyczki

Zajrzyj teraz do panelu ustawień wtyczki. Podoba Ci się?

Panel ustawień wtyczki

Modyfikacje

No cóż. Udało się! A właściwie – Zrobiłeś to! Reklama wyświetla się bezpośrednio pod wpisem. Mam jednak dla Ciebie jeszcze kilka pomysłów do wdrożenia.

Co Ty na to, aby reklama była wstawiana zaraz po miejscu, gdzie wstawiłeś rozdzielnik Read More? Dodatkowo pokażę Ci, jak wyświetlić reklamę tylko wtedy, kiedy otwarty jest pojedynczy wpis, a nie za każdym razem – nawet w widoku strony zbiorczej.

Funkcja is_single

Druga kwestia jest dosyć prosta. API WordPressa dostarcza specjalną funkcję, która zwraca true, jeśli wyświetlany jest tylko jeden, konkretny wpis, w przeciwnym wypadku zwraca false.

Zmodyfikuj więc metodę edit_content.

Super! Teraz reklama jest widoczna wyłącznie po otwarciu całego artykułu.

Miejsce „Read More”

Miejsce, otagowane przez Ciebie we wpisie jako Read More, w kodzie wygląda następująco.

Po raz kolejny zmodyfikuj metodę edit_content.

Sprawdź, jak teraz zachowuje się reklama.

Jest widoczna wewnątrz treści, jeśli wstawiłeś tag Read More.

Reklama po Read More

Natomiast jeśli tego tagu nie ma, nic się nie pojawia.

Brak reklamy we wpisie

Wygląda to naprawdę dobrze!

Podsumowanie

Kolejny duży krok za Tobą. Całość jak zwykle dostępna jest na GitHub. Gdybyś miał pytania, co do powyższego kodu, zapraszam Cię na forum WEBroad. W kolejnej części opiszę tworzenie wtyczki, która dodaje możliwość wstawiania własnych widżetów na stronie.

Projekt na GitHub Zapytaj na forum


Tagi:


3 odpowiedzi na “#3 Tworzenie wtyczki WordPress. Haki filtrów”

  1. DMati pisze:

    Od dłuższego czasu Facebook nie lubi Was do końca.

    http://prntscr.com/a8jfyy

    http://prntscr.com/a8jg1v

  2. Nin pisze:

    Super sprawa szkoda, że nie ma dalszych części

Skomentuj DMati Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany.