IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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.
Vytvorenie zložky pre plugin

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:

WordPress - Tvorba pluginov

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.
Pokiaľ nemáme žiadnu webovú stránku pluginu, nemusíme ju uvádzať. To isté platí aj o našich webových stránkach. Ak ich nemáme, adresu písať nemusíme.

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.
Pamätajme, že toto opatrenie je iba jedným z krokov na zaistenie bezpečnosti nášho pluginu. Existujú ďalšie bezpečnostné postupy a praktiky, ktoré môžete uplatniť na ochranu nášho pluginu. Zameriame sa na ne neskôr v kurze. Bezpečnosť by ale mala byť pri tvorbe pluginov pre WordPress vždy na prvom mieste.

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:

WordPress - Tvorba pluginov

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.


 

Predchádzajúci článok
Inštalácia WordPress a prvotné nastavenie
Všetky články v sekcii
WordPress - Tvorba pluginov
Preskočiť článok
(neodporúčame)
Prvá stránka a plugin
Článok pre vás napísal Štefan Tusjak
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje Webovým aplikací. V rámci své dlouholeté kariéry v automobilovém průmyslu nasbíral dostatek zkušeností z oblasti procesního řízení výroby. Při přechodu do průmyslu medical, dostal možnost programovat MES sytém. Zde spojuje dvě věci, které
Aktivity