NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Lekce 3 - Struktura pluginu a vytvoření složky

V minulé lekci, Instalace WordPress a prvotní nastavení, jsme si nainstalovali WordPress a udělali prvotní nastavení.

V tomto tutoriálu tvorby pluginů pro redakční systém WordPress se budeme věnovat základním krokům, které musíme udělat, abychom mohli vytvořit svůj první plugin. Než se ponoříme do kódu, projdeme si strukturu adresářů a vytvoříme si pro náš budoucí první plugin složku. Dozvíme se také základní fakta k zabezpečení pluginů proti útoku zvenčí.

Stromová struktura pluginu

Podívejme se, jak bude vypadat stromová struktura složek a souborů pro náš první plugin, který dnes společně vytvoříme:

wp-content/
│
└── plugins/
    │
    └── prvni-plugin/
        │
        ├── prvni-plugin.php
        │
        └── index.php
  • prvni-plugin/ - hlavní složka našeho pluginu, pojmenovaná podle názvu našeho projektu,
  • prvni-plugin.php - soubor obsahuje klíčové informace o pluginu a slouží k jeho identifikaci a správě. Popisuje, co plugin dělá a jaké má vlastnosti,
  • index.php - prázdný soubor sloužící ke zvýšení bezpečnosti pluginu. Pokud někdo získá přístup k adresáři pluginu, bude přesměrován na tento prázdný soubor, čímž ochráníme náš plugin před neoprávněným přístupem.

Vytvoření složky pro plugin

Přejdeme do složky tvorbapluginu\app\public\wp-content\plugins/. Jak vyplývá z naší stromové struktury, v této složce vytvoříme složku pro náš první plugin. Pojmenujeme si ji prvni-plugin/. Jediná podmínka pro název pluginu je, aby byl jeho název jedinečný a nekolidoval s již existujícím pluginem. My nicméně zatím budeme používat lokální server, a tak se názvem zatím nemusíme tolik zabývat. Na webovém úložišti pak lze provést kontrolu, zda názvy nekolidují.

Vytvoření základního souboru pro plugin

Nyní přejdeme k vytvoření základního souboru pro náš plugin. Tento soubor bude obsahovat základní informace o pluginu a slouží k jeho identifikaci a správě. Ve VS Code si otevřeme naši vytvořenou složku tvorbapluginu/ a přesuneme se do podsložky prvni-plugin/. V ní vytvoříme soubor prvni-plugin.php:

První plugin - WordPress - Tvorba pluginů

Do souboru prvni-plugin.php napíšeme následující metadata pluginu:

<?php
/**
 * @package Prvniplugin
 */
/*
Plugin Name: Prvni plugin
Plugin URI: http://prvni-plugin.com
Description: Toto je můj první WordPress plugin.
Version: 1.0.0
Author: Vaše Jméno
Author URI: http://vase-url.com
License: GPLv2 or later
Text Domain: prvni-plugin
*/

Popišme si nyní jednotlivé položky:

  • Plugin Name - zde zadáme název našeho pluginu, který se zobrazí v administrátorském rozhraní WordPressu,
  • Plugin URI - pokud máme webovou stránku pro náš plugin, sem zadáme odkaz,
  • Description - stručný popis funkce a schopností pluginu,
  • Version - verze pluginu,
  • Author - jméno autora,
  • Author URI - webová stránka autora,
  • License - licence pluginu (např. GPLv2 nebo pozdější),
  • Text Domain - textová doména pro překlady pluginu.

Pokud nemáme žádnou webovou stránku pluginu, nemusíme ji uvádět. Totéž platí i o našich webových stránkách. Pokud je nemáme, adresu psát nemusíme.

Díky metadatům, která jsme si právě popsali, WordPress identifikuje a spravuje náš plugin. Pokud bychom metadata vynechali, WordPress by nezobrazil ani náš plugin. Proto je nutné je vždy uvést.

Bezpečnostní opatření

Pro zvýšení bezpečnosti pluginu vytvoříme prázdný soubor index.php v kořenovém adresáři našeho pluginu. Do souboru napíšeme jen komentář. Pokud by totiž někdo získal přímý přístup k adresáři pluginu, bude přesměrován na tento prázdný soubor. Tím ochráníme náš plugin před neoprávněným přístupem:

<?php
// Silence is golden.

I když se může zdát, že prázdný soubor index.php neobsahuje žádný kód, vytváří důležitou bezpečnostní vrstvu pro náš plugin. Toto opatření se používá k prevenci různých útoků, jako jsou pokus o získání citlivých informací o našem pluginu nebo pokus o spuštění.

Kód souboru se skládá jen z komentáře // Silence is golden.. Je důležité si uvědomit, že tento komentář je spíše konvencí než nutným pravidlem. Přesto je vhodné tuto konvenci dodržovat hned z několika důvodů:

  • Dokumentace - Pomáhá dokumentovat účel souboru. Kódy mnohdy obsahují komentáře, aby vysvětlily, co daný kód dělá. I když je soubor prázdný, tento komentář naznačuje, že jde o záměrně prázdný soubor, jehož jediným účelem je bránit přístupu.
  • Lepší čitelnost kódu - Tento komentář také pomáhá čtenářům kódu (včetně vývojářů) rozumět účelu souboru. I když je v tomto případě účel docela zřejmý, takové komentáře jsou velmi užitečné v komplexnějších projektech.
  • Tradice - Fráze "Silence is golden" je známým idiomem, který zdůrazňuje výhody ticha a klidu. Ve světě programování by se "ticho" mohlo interpretovat ve smyslu neposkytování informací o obsahu adresáře. Je to taková kódová narážka na tuto tradici.

Pamatujme, že toto opatření je pouze jedním z kroků k zajištění bezpečnosti našeho pluginu. Existují další bezpečnostní postupy a praktiky, které můžeme uplatnit k ochraně svého pluginu. Zaměříme se na ně později v kurzu. Bezpečnost by ale měla být při tvorbě pluginů pro WordPress vždy na prvním místě.

Máme první plugin

Spustíme si vývojové prostředí Local WP, otevřeme naši local site tvorbapluginu a přejdeme do její administrace (tlačítko WP Admin). V prohlížeči se nám na lokálním serveru otevře stránka s administrací. V záložce Plugins uvidíme námi vytvořený plugin:

První plugin - WordPress - Tvorba pluginů

Vidíme zde všechny údaje, které jsme zadali. Pokud teď v editoru kódu některou z informací v souboru prvni-plugin.php upravíme a úpravy uložíme, po aktualizaci se změny ihned projeví i na stránce administrace. V rámci administrace lze plugin také aktivovat a deaktivovat, případně smazat.

V další lekci, První stránka a plugin, se naučíme napsat jednoduchý plugin a necháme si ho vypsat na naší stránku. A řekneme si něco o mechanismu hooků.


 

Předchozí článek
Instalace WordPress a prvotní nastavení
Všechny články v sekci
WordPress - Tvorba pluginů
Přeskočit článek
(nedoporučujeme)
První stránka a plugin
Článek pro vás napsal Štefan Tusjak
Avatar
Uživatelské hodnocení:
10 hlasů
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