Vlastný blok vyvíjajte pre opakovanú špecializovanú funkciu, ktorú jadrové bloky a vzor nepokryjú bezpečne. Navrhnite minimum zrozumiteľných ovládacích prvkov, dostupný náhľad, validáciu a bezpečný verejný výstup. Uložený formát verzujte a pripravte migráciu skôr, než zmeníte štruktúru.
Vlastný Gutenberg blok dáva redaktorovi špecializované rozhranie pre obsah, ktorý bežné bloky nevedia bezpečne vyjadriť. Môže ísť o kalkulačku, prepojený zoznam referencií, technickú tabuľku alebo interaktívny prvok. Vývoj vlastného bloku však prináša dlhodobú kompatibilitu, migrácie uloženého obsahu a testovanie editora aj verejnej stránky. Nie je vhodnou odpoveďou na každú odlišnú sekciu.
Najprv treba overiť, či úlohu nevyrieši kombinácia jadrových blokov, vzor alebo serverovo vykreslený komponent s jednoduchými poľami. Vlastný blok má zmysel, keď opakovaná štruktúra potrebuje validáciu, dynamické dáta alebo chránené správanie. Kvalitu neurčuje efektný panel nastavení, ale schopnosť redaktora vytvoriť správny obsah bez technických znalostí.
Overte, či vlastný blok naozaj potrebujete
Spíšte obsahovú úlohu a obmedzenia. Ak redaktor potrebuje opakovane vložiť nadpis, text a tlačidlo v známom rozložení, vzor jadrových blokov je jednoduchší. Ak vyberá konkrétne referencie z databázy, zadáva štruktúrované parametre alebo spúšťa výpočet, vlastný blok môže znížiť chyby. Rozhodnutie podložte viacerými reálnymi použitiami, nie jedinou návrhovou obrazovkou.
Porovnajte aj vlastné pole v šablóne a samostatný typ obsahu. Často aktualizovaný zoznam ľudí nemá byť ručne uložený v desiatkach blokov; lepšie je vybrať zdroj a výstup generovať. Kritickú biznis logiku oddeľte do pluginu alebo služby a blok nech zostane rozhraním. Téma potom môže zmeniť vzhľad bez straty funkcie a dát.
Navrhnite redakčné rozhranie okolo úlohy
Použite známe ovládacie prvky WordPressu a názvy z jazyka redaktora. Najčastejšie hodnoty patria priamo do plátna, pokročilé možnosti do bočného panela. Každá voľba má mať predvolenú hodnotu a zmysluplný prázdny stav. Ak blok potrebuje šesťdesiat nastavení vzhľadu, pravdepodobne supluje dizajnový systém namiesto jednej obsahovej funkcie.
Náhľad v editore má byť dostatočne podobný verejnému výsledku, no nemusí vykonávať rizikové externé akcie. Zobrazte stav načítania, chybu, nulové výsledky aj obmedzené oprávnenie. Redaktor musí vedieť blok označiť, presunúť a odstrániť klávesnicou. Inštrukcie nevkladajte iba do placeholderu, ktorý po začatí písania zmizne.
- Minimum ovládaní pre jednu úlohu
- Zrozumiteľné predvolené hodnoty
- Náhľad chýb a prázdneho stavu
- Ovládanie dostupné klávesnicou
Vyberte statické alebo dynamické vykreslenie
Statický blok ukladá výsledné HTML do obsahu. Je rýchly na zobrazenie a menej závislý od serverovej logiky, ale zmena uloženého markup môže vyžadovať deprecáciu a migráciu starých verzií. Hodí sa na obsah, ktorý sa po publikovaní nemení bez redakčného uloženia. Výstup musí zostať sémantický a odolný voči chýbajúcim atribútom.
Dynamický blok ukladá atribúty a HTML vytvára na serveri pri zobrazení. Je vhodný pre aktuálne dáta, dotazy alebo centrálne meniaci sa výstup. Potrebuje bezpečné escapovanie, cache a kontrolu výkonu. Náhľad v editore môže volať REST rozhranie s oprávnením. Rozhodnutie robte podľa životnosti dát, nie podľa osobnej preferencie vývojára.
Chráňte kompatibilitu uloženého obsahu
Atribúty majú mať jasný typ a stabilný význam. Premenovanie poľa, zmena zdroja hodnoty alebo odstránenie obalu môže spôsobiť hlásenie neplatného bloku. Pri statickom výstupe zachovajte starú verziu v deprecations a pripravte transformáciu. Migráciu testujte na obsahu vytvorenom každou podporovanou verziou, nie iba na novom prázdnom bloku.
Neukladajte do atribútov odvodené dáta, ktoré možno spoľahlivo vypočítať, ani tajomstvá či citlivé odpovede API. Pri zrušení bloku ponúknite transformáciu na jadrové bloky alebo zachovanie čitateľného obsahu. Dokumentujte vlastníctvo a závislosti. Web nesmie prísť o text len preto, že sa zmenil plugin alebo názov komponentu.
- Stabilný význam atribútov
- Deprecation pre starý uložený markup
- Transformácia pri nahradení bloku
- Testy nad historickým obsahom
Testujte výkon, bezpečnosť a vydanie
Skripty a štýly načítavajte iba tam, kde sa blok používa, ak architektúra umožňuje delenie. Serverový dotaz nevolajte pre každý záznam zvlášť; používajte primeranú cache a limity. Všetky vstupy validujte, URL a text escapujte a pri administratívnej akcii kontrolujte oprávnenie aj nonce. Externé volanie má timeout a bezpečný náhradný stav.
Automatické testy pokryjú serializáciu, migráciu atribútov a serverový výstup. Manuálne prejdite vloženie, kopírovanie, undo, duplikovanie, opätovné otvorenie aj zmenu témy. Vydanie blokového pluginu verzujte a najprv overte v stagingu s kópiou reálneho obsahu. Redaktorom stručne vysvetlite nový účel a situácie, keď majú použiť bežný vzor.
Časté otázky
Je vlastný Gutenberg blok lepší než shortcode?
Pre vizuálnu redakciu často ponúka lepší náhľad, validované polia a objaviteľnosť. Shortcode môže zostať vhodný pre úzky existujúci prípad, ale jeho parametre a chyby redaktor vidí horšie. Migráciu treba posúdiť podľa obsahu.
Má vlastný blok patriť do témy alebo pluginu?
Blok nesúci funkciu alebo dáta obyčajne patrí do pluginu, aby prežil zmenu témy. Čisto prezentačný variant úzko viazaný na dizajn môže byť súčasťou témy. Hranicu určujte podľa významu a životnosti.
Čo sa stane so starými blokmi po zmene kódu?
Pri nekompatibilnej zmene môžu byť označené ako neplatné alebo zobraziť starý výstup. Preto treba zachovať deprecations, transformácie a testovacie vzorky historického obsahu a zmenu nasadiť cez staging.



