CMSPHPWordPress

#1 Tworzenie wtyczki WordPress. Pierwsze kroki

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

Wtyczki WordPressa to narzędzia, pozwalające zrobić z tym systemem dosłownie wszystko. Dzięki nim możesz dodać dowolną funkcję, rozszerzającą podstawowe zasady działania Twojej witryny. Istnieje jednak jedno pytania, które powinieneś sobie zadać przed rozpoczęciem tworzenia własnego, wymyślnego pluginu.

Kursy wideo WordPress

Czy w bogatym i ogólnodostępnym repozytorium WordPressa nie ma wtyczki, która jest mi potrzebna?

Jest wielce prawdopodobne, że właśnie w tym miejscu możesz zakończyć czytanie niniejszego wpisu. ;-)

Twoja pierwsza wtyczka do WordPressa

W zasadzie, abyś mógł cieszyć się swoją pierwszą, działającą wtyczką, wystarczy dokładnie jeden plik. Warto nazwać go tak, aby dla jego potencjalnego użytkownika (także Ciebie) był łatwy do odnalezienia w katalogu wp_content/plugins.

Praktycznie rzecz biorąc, nie zostawiam nawet najprostszej wtyczki samej sobie. Zawsze tworzę ją w katalogu zbiorczym, który umieszczam w w/w lokalizacji. Pozwala to uniknąć zamieszania z jej ewentualną rozbudową.

Opis wtyczki

Utwórz katalog o nazwie hello_webroad, a w nim plik hello_webroad.php.

Aby WordPress wiedział, że ma do czynienia z wtyczką, główny jej plik musisz odpowiednio opisać za pomocą specjalnego komentarza. Wygląda on w następujący sposób:

<?php 
	/*
	Plugin Name: Hello WEBroad
	Plugin URI: http://webroad.pl/cms/5847-tworzenie-wtyczki-wordpress-1
	Description: Moja pierwsza wtyczka przygotowana dla WordPressa!
	Version: 1.0
	Author: Michal Kortas
	Author URI: http://webroad.pl
	*/
?>

Jedynym wymaganym polem jest Plugin Name, pozostałe możesz pominąć, jednak zalecam Ci dokładne opisywanie każdej wtyczki.

Licencja wtyczki

Drugim, równie ważnym elementem, jest określenie licencji, na jakiej udostępniasz plugin w sieci. Jeśli chcesz tworzyć je w zgodzie z GPL, dopisz w komentarzu dwie dodatkowe linie.

<?php 
	/*
	License: GPLv3
	License URI: http://www.gnu.org/licenses/gpl-3.0.html
	*/
?>

Włączanie wtyczki

Tak w zasadzie, jeśli tylko przekopiujesz katalog do wp_content/plugins, możesz uruchomić swoją wtyczkę.

Włączanie wtyczki WordPress

Oczywiście Twoja wtyczka nie robi jeszcze nic poza tym, że istnieje.

Tworzenie pierwszej funkcji

Tworzony dzisiaj plugin nie będzie jak na razie zmieniał Świata. Ma wyświetlić tylko i wyłącznie krótki tekst. Przygotuj zatem odpowiedzialną za to funkcję.

<?php 
	function show_hello() {
		echo 'Hello WEBroad! :-)';
	}
?>

Używanie haków

Dzięki tzw. hakom możemy doczepiać się ze swoją akcją do zdefiniowanych wcześniej miejsc.

Więcej informacji o hakach akcji i hakach filtrów przekażę Ci w kolejnym wpisie za kilka dni.

W chwili obecnej nie będę rozwlekać tego tematu, dlatego musisz mi zaufać. :-)

Nad stworzoną przed chwilą funkcją wywołaj funkcję dopinającą add_action().

<?php 
	add_action('the_content', 'show_hello');
?>

Po odświeżeniu strony zobaczysz, że wszystkie teksty wpisów zostały zamienione na Twój własny.

Hello World!

Stworzyłeś więc mało użyteczną, ale jednak swoją własną wtyczkę, która działa!

Pobierz źródło

O wtyczkach słów kilka

Nie zawracałem Ci głowy opisując możliwości wtyczek na samym początku, gdyż lepiej podchodzić do tematu praktycznie. Jeżeli jednak chciałbyś dowiedzieć się czegoś więcej, poświęć chwilę na przeczytanie poniższych informacji.

Rodzaje wtyczek

W ekosystemie WordPressa rozróżniamy trzy rodzaje wtyczek.

Zwykłe wtyczki

To te, których używasz praktycznie na co dzień. Zwykłą wtyczką jest również stworzona przez Ciebie Hello WEBroad. Jeśli usystematyzujemy wiedzę, wychodzi na to, że takie dodatki służą głównie do rozszerzania możliwości WordPressa poprzez dodawanie nowych funkcji.

Wtyczki dla rdzenia

Zajmują się nadpisywaniem rdzennych funkcji WordPressa. Należy obchodzić się z nimi nadzwyczaj ostrożnie. Jakakolwiek ingerencja w nie może spowodować błędy w działaniu Twojej witryny. Aby nadpisać rdzenną funkcję, należy w głównym katalogu wp-content umieścić plik PHP, który przejmie rolę domyślnego.

Jedną z bezpieczniejszych wtyczek tego rodzaju jest maintenance.php, dzięki której możesz w prosty sposób podmienić domyślny komunikat o przerwie technicznej, związanej z aktualizacją systemu lub jego składowych.

Wtyczki wymagane

Trzecim rodzajem są wtyczki wymagane, które możesz przechowywać w katalogu wp-content/mu-plugins. Charakteryzują się tym, że w żaden sposób nie można ich wyłączyć z poziomu panelu administracyjnego WordPressa. Jedyną opcją, która wyłączy wtyczkę, jest jej fizyczne skasowanie z serwera.

Zastępowanie wtyczek plikiem functions.php

Tworząc nową wtyczkę powinieneś zastanowić się, czy nie warto będzie użyć pliku functions.php zamiast osobnego pliku pluginu.

Zasada jest prosta. Jeśli wiesz na pewno, że dana funkcjonalność będzie stricte związana z jednym, konkretnym szablonem, możesz śmiało wykorzystać plik functions.php. Natomiast jeżeli zależy Ci na takim przywiązywaniu się i chciałbyś swojemu pluginowi zapewnić pewną, łatwiejszą przenaszalność, dobrą drogą jest właśnie wtyczka.

Twórz wtyczki również wtedy, kiedy chcesz pozwolić użytkownikowi na korzystanie z ustawień. Ustawienia takie możesz stworzyć w prosty sposób, lecz dzięki temu zwiększysz wygodę obsługi swojego pluginu.

Tworzenie ustawień wtyczki pokażę Ci w jednym z kolejnych wpisów.

Widżety do wtyczek

Twoja wtyczka może również dostarczać użytkownikowi możliwość umieszczania na stronie widżetów. Taki widżet możesz wstawić w specjalnie przeznaczonych do tego miejscach w szablonie (sidebary itp.). Przygotowywania ich z pewnością Cię nauczę.

Typy wpisów i taksonomie

Standardowym przykładem taksonomiitagi i kategorie. W prosty jednak sposób możesz rozszerzyć ich dziedzinę. To samo dotyczy rodzajów wpisów. Zamiast standardowych wpisów możesz zechcieć umieszczać inne rodzaje treści, na przykład linki w blogrollu czy pojedyncze strony pomocy w tworzonej bazie wiedzy.

Taksonomie i typy wpisów dobrze jest wpiąć do systemu pluginem. Zwiększy to ich zdolność migracji pomiędzy szablonami jak i witrynami, bez konieczności przeszukiwania i kopiowania kodu źródłowego.

Zakończenie

Na dzisiaj to już wszystko. Kolejny wpis pojawi się za kilka dni. Poniżej wstawiłem przycisk, który pozwoli Ci pobrać niewielkie źródło przygotowane powyżej. Do usłyszenia!

Pobierz źródło

Tagi:pluginwtyczka wordpress

komentarzy 5

  • Awatar
    WPgościu

    10 lutego 2016 12:33

    No to czekam na kolejny.;)

    Odpowiedz
  • Awatar
    Piotr Ścigała

    10 lutego 2016 20:47

    Napisane bardzo przystępnym językiem, czekam na ciąg dalszy :)

    Odpowiedz
    • Awatar
      Michał Kortas

      10 lutego 2016 22:15

      Dziękuję:) Kolejna część już wkrótce. Planuję opublikować wpis w przyszłą środę.

      Odpowiedz
    • Awatar
      Michał Kortas

      19 lutego 2016 23:36

      Lekkie opóźnienie spowodowało, że wpis pojawi się jutro rano. Pozdrawiam!

      Odpowiedz
  • Awatar
    Janusz Kamiński

    16 lutego 2016 09:39

    Wszystko prosto i jaśnie! Dziękuję!

    Odpowiedz

Zostaw odpowiedź