Pokud jde o design CSS-Tricks, když to zaznamenávám, jednou z věcí, které jsem chtěl přidat, byl widget „Front End Design & Development Jobs“, vytvořený JobPod CodePen. Tyto úlohy jsou k dispozici jako data JSON.
Nemohli jsme pro to prostě udělat žádost Ajaxu a použít ji? Možná trochu šablonování JavaScriptu? Jistě, mohli bychom. Ale Ajax požadavky jsou asynchronní. Na každém načtení stránky zobrazuji malý rozmetač, čekám, až dorazí data, a pak vyplňuji úlohy. Ne tak docela UX, jaké chci.
Chci to udělat s PHP, takže úlohy jsou tam jako součást dokumentu, jak to sestupuje ze serveru. PHP (a WordPress) může úplně odesílat požadavky na obsah třetích stran, stejně jako to dokáže požadavek Ajaxu. Ve skutečnosti je to ještě jednodušší, protože nejsou zahrnuta omezení mezi doménami a věci typu JSONP.
Spoléhat se na požadavek třetí strany, aby server vůbec odpověděl, je však trochu riskantní. Nechtěl bych to vyžadovat při každém načtení stránky v CSS-Tricks. Naštěstí k tomu slouží WordPress Transitions. V tomto videu je to přesně to, co používáme. Jdeme získat data jednou za čas, pak je uložíme do mezipaměti místně, takže většina požadavků je super rychlá místní data.