WordPress (nagyon)gyorstalpaló (bővítmények fejlesztése)


Ez a bejegyzés némi PHP tudást feltételez, de ennek ellenére nem lesz bonyolult. Igazából szerintem a WordPress leglenyűgözőbb tulajdonsága az egyszerűsége. De lássuk, hogy is megy ez ...

Ahogyan a dolog nevéből is adódik, a bővítmények segítségével új funkcionalitással bővíthetjük a rendszert. Ilyen kiegészítők segítségével szinte bármit megvalósíthatunk. A bővítmények a sablonokhoz hasonlóan a wp-content mappában találhatóak, a plugins könyvtárban. A pluginek felépítése is nagyon hasonló a sablonokéhoz. A WordPress végigszalad a plugins könyvtár tartalmán. Az ott található php fájlok, illetve könyvtárak tartalmazhatnak plugineket. A plugin adatok a sablonokhoz hasonlóan a fájl elején kommentben találhatóak. Ha a plugin könyvtárban található, akkor a WordPress a könyvtár nevével megegyező php állományt keres. Tehát ha a plugin a 'test' könyvtárban található, akkor 'test.php'-t. Minden WordPress változatban található egy 'Hello Dolly' nevű teszt plugin, amit a plugins könyvtárban találhatunk hello.php néven. Ennek az elején láthatjuk az előbb említett komment részt a plugin nevével és leírásával. Ez alapján már elkészíthetjük a saját bővítményünket. Hozzunk létre mondjuk egy test.php nevű állományt a plugins könyvtárban, és kommentek segítségével adjunk neki nevet és leírást. Ha minden jól megy, ez már elég ahhoz, hogy a pluginünk megjelenjen a bővítmények listájában. Ugyanígy működni fog az is, ha a test.php-t egy test nevű könyvtárban helyezzük el az esetleges egyéb állományokkal.

Tehát van már egy bővítményünk, ami egyenlőre nem csinál semmit. Most jöhet az, hogy valami tényleges funkcionalitást adjunk a rendszerhez. Erre a WordPress-ben az action-ök és a filterek szolgálnak. Az action-ök olyan pontok a rendszerben, ahová saját működést szúrhatunk be. Ilyen action például az oldal fejlécének generálása, vagy éppen az, hogy a rendszer kigenerált egy blogbejegyzést. Vegyünk például egy olyan plugint, ami egy megosztó sávot (like, G+, stb.) helyez a bejegyzések aljára. Egy ilyen plugin-nak a bejegyzés generálása után meghívódó action-re kell regisztrálnia egy függvényt. Ahogy a WordPress generálja az oldal darabjait, az egyes action-öknél meghívja a mi kezelőinket, így avatkozhatunk be az oldalgenerálás folyamatába.

A filter a beavatkozás másik formája. Ez egy olyan függvény, ami valami adatot kap a paraméterében, és valami változtatást végez rajta. Így például bizonyos karaktersorozatokat cserélhetünk le a tartalomban, menü elemeket adhatunk az admin felülethez, és hasonlók.

Az action-ökön és filtereken túl van még pár lehetőség a működésbe való beavatkozásra, de az esetek nagy többségében ezeken keresztül adhatjuk hozzá az új működést a rendszerhez. Ráadásul a kialakítás annyira flexibilis, hogy szinte bármit megoldhatunk WordPress-en belül.

Igazából a plugin fejlesztésről könyvet lehetne írni, de indulásnak talán ennyi elég. A továbblépéshez a WordPress Codex vonatkozó fejezeteit tudom ajánlani: http://codex.wordpress.org/Plugins , de ezen kívül is sok tutorial található a weben, illetve sokat tanulhatunk már meglévő plugin-ek forráskódjának böngészésével is.

#blog