3. diel - Štruktúra pluginu a vytvorenie zložky
V minulej lekcii ,{PREVIUS}, sme si nainštalovali WordPress a urobili prvotné nastavenie.
V tomto tutoriále tvorby pluginov pre redakčný systém WordPress sa budeme venovať základným krokom, ktoré musíme urobiť, aby sme mohli vytvoriť svoj prvý plugin. Než sa ponoríme do kódu, prejdeme si štruktúru adresárov a vytvoríme si pre náš budúci prvý plugin zložku. Dozvieme sa tiež základné fakty na zabezpečenie pluginov proti útoku zvonku.
Stromová štruktúra nášho pluginu
Pozrime sa, ako bude vyzerať stromová štruktúra zložiek a súborov pre náš prvý plugin, ktorý dnes spoločne vytvoríme:
prvni-plugin/
: hlavná zložka nášho pluginu, pomenovaná podľa názvu nášho projektu,prvni-plugin.php
: súbor obsahuje kľúčové informácie o plugine a slúži na jeho identifikáciu a správu. Popisuje, čo plugin robí a aké má vlastnosti,index.php
: prázdny súbor slúžiaci na zvýšenie bezpečnosti pluginu. Pokiaľ niekto získa prístup k adresáru pluginu, bude presmerovaný na tento prázdny súbor, čím ochránime náš plugin pred neoprávneným prístupom.
Prejdeme do priečinka
tvorbapluginu\app\public\wp-content\plugins\
. Ako vyplýva z našej
stromovej štruktúry, v tejto zložke vytvoríme zložku pre náš prvý
plugin. Pomenujeme si ju prvni-plugin/
. Jediná podmienka pre
názov pluginu je, aby jeho názov bol jedinečný a nekolidoval už s
existujúcim pluginom. My však zatiaľ budeme používať lokálny server a tak
sa názvom zatiaľ nemusíme toľko zaoberať. Na webovom úložisku je potom
možné vykonať kontrolu, či názvy nekolidujú.
Vytvorenie základného súboru pre plugin
Teraz prejdeme na vytvorenie základného súboru pre náš plugin. Tento
súbor bude obsahovať základné informácie o plugine a slúži na jeho
identifikáciu a správu. Vo VS Code si otvoríme našu vytvorenú zložku
tvorbapluginu/
a presunieme sa do podzložky
prvni-plugin/
. V nej vytvoríme súbor
prvni-plugin.php
:
Do súboru prvni-plugin.php
napíšeme nasledujúce metadáta
pluginu:
Popíšme si teraz jednotlivé položky:
Plugin Name
: tu zadáme názov nášho pluginu, ktorý sa zobrazí v administrátorskom rozhraní WordPressu,Plugin URI
: ak máme webovú stránku pre náš plugin, sem zadáme odkaz,Description
: stručný popis funkcie a schopností pluginu,Version
: verzia pluginu,Author
: meno autora,Author URI
: webová stránka autora,License
: licencia pluginu (napr. GPLv2 alebo neskoršie),Text Domain
: textová doména pre preklady pluginu.
Vďaka metadátam, ktoré sme si práve popísali, WordPress identifikuje a spravuje náš plugin. Pokiaľ by sme metadáta vynechali, Wordpress nezobrazil ani náš plugin. Preto je nutné ich vždy uviesť.
Bezpečnostné opatrenia:
Súbor index.php
Pre zvýšenie bezpečnosti pluginu vytvoríme prázdny súbor
index.php
v koreňovom adresári nášho pluginu. Do súboru
napíšeme iba komentár. Pokiaľ by totiž niekto získal priamy prístup k
adresáru pluginu, bude presmerovaný na tento prázdny súbor. Tým
ochránime náš plugin pred neoprávneným
prístupom:
Aj keď sa môže zdať, že
prázdny súbor index.php
neobsahuje žiadny kód, vytvára
dôležitú bezpečnostnú vrstvu pre náš plugin. Toto opatrenie sa používa
na prevenciu rôznych útokov, ako sú pokus o získanie citlivých informácií
o našom plugine alebo pokus o spustenie.
Kód súboru sa skladá len z komentára // Silence is golden.
.
Je dôležité si uvedomiť, že ten komentár je skôr konvenciou, než nutným
pravidlom. Napriek tomu je vhodné túto konvenciu dodržiavať hneď z
niekoľkých dôvodov:
- Dokumentácia: Pomáha dokumentovať účel súboru. Veľakrát kódy obsahujú komentáre, aby vysvetlili, čo daný kód robí. Aj keď je súbor prázdny, tento komentár naznačuje, že ide o zámerne prázdny súbor, ktorého jediným účelom je brániť prístupu.
- Lepšia čitateľnosť kódu: Tento komentár tiež pomáha čitateľom kódu (vrátane vývojárov) rozumieť účelu súboru. Aj keď v tomto prípade účel je celkom zrejmý, také komentáre sú veľmi užitočné v komplexnejších projektoch.
- Tradícia: Fráza "Silence is golden" je známym idiómom, ktorý zdôrazňuje výhody ticha a pokoja. Vo svete programovania by sa to mohlo interpretovať ako "ticho" v zmysle neposkytovania informácií o obsahu adresára. Je to taká kódová narážka na túto tradíciu.
Máme prvý plugin
Spustíme si vývojové prostredie Local WP, otvoríme našu local site tvorbapluginu a prejdeme do jej administrácie (tlačidlo WP Admin). V prehliadači sa nám na lokálnom serveri otvorí stránka s administráciou. V záložke Plugins uvidíme nami vytvorený plugin:
Vidíme tu všetky údaje, ktoré sme zadali. Pokiaľ teraz v editore kódu
niektorú z informácií v súbore prvni-plugin.php
upravíme a
úpravy uložíme, po aktualizácii sa zmeny ihneď prejavia aj na stránke
administrácie. V rámci administrácie je tiež možné plugin aktivovať a
deaktivovať, či prípadne zmazať.
V ďalšej lekcii, Prvá stránka a plugin , sa naučíme napísať jednoduchý plugin a necháme si ho vypísať na našu stránku. A povieme si niečo o mechanizme hookov.