V předchozím článku jsme probírali základy mapování shortcodů a to, jak můžete využít jeho skvělé výhody. Rozhodli jsme se rozdělit článek věnovaný verzi Shortcode Mappingu od Page Builder Sandwich, protože následující text může být o něco techničtější.
Níže naleznete podrobnější popis vnitřního fungování naší funkce mapování shortcodů a toho, jak se nám ji podařilo zprovoznit.
Automatizovaný proces
Abychom rozhodli, které pluginy do nástroje pro mapování shortcodů zahrnout, vytvořili jsme automatizovaný skript, který shromažďuje nejlepší pluginy v adresáři pluginů WordPressu na základě následujících kritérií:
- Mezi 1 000 populárními, nejlépe hodnocenými a aktualizovanými pluginy, s alespoň 4 000 aktivními instalacemi,
- S alespoň 4 000 aktivními instalacemi,
- S alespoň 20 hodnoceními a;
- S průměrným hodnocením alespoň 3 hvězdičky
Tento dotaz spouštíme denně proti adresáři pluginů WordPressu. Tyto filtry zajišťují, že získáme seznam kvalitních pluginů, které používá mnoho lidí. V době psaní tohoto článku tato kritéria vyústila v 800 pluginů. To je hodně. Opravdu hodně.

Poté na zdrojovém kódu každého pluginu spouštíme sérii automatizovaných kontrol, abychom zjistili, zda obsahuje nějaké shortcody, a následně se snažíme najít všechny tyto shortcody včetně všech jejich atributů. Po zpracování dat to vyústilo ve více než 2 000 shortcodů. Dvojité wow. Zjištěné shortcody jsou pak vloženy do databáze mapování shortcodů k manuální kontrole.
Na konci tohoto procesu máme obrovský seznam pluginů a jejich možných shortcodů. Nyní jde o to tato data vyčistit a ujistit se, že je vše v pořádku.
Manuální proces
To je pravděpodobně nejtěžší část celého systému mapování. Kód pluginů mívá různé podoby a velikosti a ne všechny shortcody jsou našimi skripty detekovány automaticky. I když WordPress Codex uvádí, že pro filtrování atributů shortcodu by se měla používat funkce `shortcode_atts`, jde pouze o doporučení a ne každý se jím řídí. Neexistuje také žádný spolehlivý způsob, jak zkontrolovat vnitřek shortcodu, když je plugin nainstalován.
Abychom zajistili, že získáme všechny shortcody a jejich atributy správně, vytvořili jsme frontendové rozhraní určené k úpravě shortcodů a atributů, které je postaveno na AngularJS a Bootstrapu.

Musíme ručně projít každý jednotlivý plugin, zkontrolovat jeho dokumentaci shortcodů a ujistit se, že všechna data, která máme, jsou správná.
Přestože je to úmorně zdlouhavé, existence automatizovaného procesu má své světlé stránky:
- Podle našich prvotních statistik má shortcody zhruba jen 1 ze 2 pluginů.
- Polovina detekovaných shortcodů nemá žádné atributy (část z toho však mohou být falešně pozitivní výsledky)
- Tím, že vybíráme pouze kvalitní pluginy, je velmi pravděpodobné, že mají dokumentaci k shortcodům
Teprve když jsou všechny shortcody pluginu zkontrolovány, začne server distribuovat namapované shortcody daného pluginu uživatelům.
Volání REST API
Posledním dílkem skládačky je samotný plugin. Koncept je zde jednoduchý: zjistit, které pluginy jsou aktivní, jakou šablonu web používá a jaké shortcody jsou k dispozici, a poté se zeptat databáze mapování shortcodů, zda pro ně má mapování. K tomuto účelu jsme vytvořili vlastní koncový bod WP REST API, na který se všichni klienti obracejí, aby získali svá nejnovější mapování shortcodů.
Budoucnost: Crowdsourcing
Ruční kontrola každého pluginu vyžaduje spoustu času a úsilí. Jakmile bude platforma pro mapování shortcodů stabilní, plánujeme mapování shortcodů otevřít všem. To znamená, že s přidáváním shortcodů bude moci pomoci kdokoli.
Možná si říkáte: „Proč bych měl pomáhat s mapováním shortcodů? Co z toho budu mít?“ Nuže, napadá nás hned několik důvodů, proč by lidé chtěli pomoci:
- Pokud jste vytvořili plugin a my jsme ho kvůli výše uvedeným kritériím ještě nezachytili (a nachází se v adresáři pluginů WordPressu), můžete mapování přidat sami. Váš plugin tak získá plnou podporu PBS!
- Jelikož se v rámci automatizovaného procesu budeme zabývat pouze pluginy z adresáře pluginů WordPressu, autoři prémiových pluginů a šablon zahrnuti nebudou. Pokud tedy nějaký máte, můžete pro ně také přidat svá mapování shortcodů.
- A pro ty, kteří pluginy nevytvářejí, můžeme ty, kteří pomohou, odměnit. Aby bylo mapování shortcodů lákavou záležitostí, můžeme ochotné pomocníky odměnit osobní licencí nebo upgradem na prémiovou licenci PBS!
Přihlaste se k odběru našeho newsletteru
Funkce mapování shortcodů bude pro naše zákazníky předběžně k dispozici 12. srpna 15. srpna 16. srpna 2016. Do této doby nebudou namapovány všechny shortcody (náš odhad je možná 100 pluginů), ale mapování bude probíhat průběžně a zákazníci je obdrží, jakmile budou vydány nové.
Přihlaste se k odběru našeho newsletteru a získejte novinky o mapování shortcodů, o tom, kdy ho vydáme a kdy mapování shortcodů zpřístupníme veřejnosti!