Poslední velká aktualizace WordPressu změnila způsob, jak se pracuje s widgety. Zmizela stránka, kde se widgety přetahovaly myší do jednotlivých pozic, nyní se umisťují jako bloky v Gutenbergu (což je hlavní editor nasazený od roku 2019). Pro tento účel vznikla na původním místě nová redakční stránka.
Původní widgety by měly být převedeny automaticky, současně je ale dobré je raději přenastavit. Ze změny mmj. vyplývá to, že jako widgety můžeme použít mnoho běžných bloků z Gutenbergu. Takže pokud vám plugin nabízí GB blok, nyní ho můžete použít jako widget ve sloupci, v patičce webu nebo jinde.
Živé widgety mají zásadní chybu
Bohužel má celá změna koncepční problém, u kterého mě zaráží, že to nikoho nenapadlo. Jestli je to omezený způsob myšlení (něco ve smyslu, že 10 widgetů musí stačit každému), nebo nepřemýšlení… tím, že jsou widgety živé, načítá se veškerý kód, který v nich je. Takže máme web, kde je 30+ oblastí pro widgety a několik desítek widgetů v nich. Nehodnoťme, jestli je to správně, nebo ne – prostě to tak lidi mají.
Když jsem se snažil stránku načíst, po 4795 požadavcích, 3 minutách zcela vytíženého počítače a 180 MB přenesených dat prohlížeč vycucal všechnu dostupnou paměť a celý systém zamrzl (Linux nepadá, ale trvalo to docela dlouho, než byl proces zabit).
Ta stránka se prostě nedá uchodit, natož editovat!
Zaráží mě, že tohle nikdo netestoval a není proti tomu ochrana. Na daném webu jsme museli vrátit staré rozhraní pluginem Classic widgets, ale znamená to, že budeme muset vymyslet, jak to celé vyřešit. Jak editovat takové množství widgetů? To přece není proklamovaný full site editing.
A ne jednu
Druhá chyba je, že se ve widgetu podle všeho načítá stránka z frontendu včetně měřicích kódů a třeba live chatu. To mi přijde obzvláště pitomé. Podobné excesy vytvářejí významné náklady na opravu… přitom jsou zbytečné.
Celkem tři
A třetí problém je v tom, že dost požadavků (resp. odpovědí na ně), které widgety posílají do celého světa, je firewallem (např. WordFence) vyhodnoceno jako DDoS, takže
- zablokuje widget a zobrazí v něm chybovou hlášku
- neumožní jeho obsah uložit, protože Gutenberg si neporadí s chybovými hláškami
Takže si připravíte obsah widgetů (poté, co se dlouho načítaly), ale neuložíte ho… obvykle se ani přesně nedozvíte, v čem chyba spočívá.
{
"code": "rest_no_route",
"message": "Nebyla nalezeno odpovídající spojení mezi adresou URL a požadavkem.",
"data": {
"status": 404
}
}
Zkrátka tohle fungovalo, tak jsme to rozbili. 🙁 I když mám novinky rád, tohle je kočkopes a pro klid duše je lepší ponechat staré rozhraní.
To zní jako spíš změny k horšímu. Tak věřím že to ještě osladí.