Przy projektowaniu sztuczek CSS, kiedy to nagrywam, jedną z rzeczy, które chciałem dodać, był widget „Front End Design & Development Jobs”, obsługiwany przez tablicę ogłoszeń CodePen. Te zadania są dostępne jako dane JSON.
Czy nie moglibyśmy po prostu wykonać żądania Ajax w tym celu i użyć tego? Może trochę szablonów JavaScript? Jasne, że moglibyśmy. Ale żądania Ajax są asynchroniczne. Wyobrażam sobie mały spinner przy każdym ładowaniu strony, czekanie na nadejście danych, a następnie wypełnianie zadań. Niezupełnie taki UX, jakiego chcę.
Chcę to zrobić z PHP, aby zadania były tam jako część dokumentu, gdy pochodzi z serwera. PHP (i WordPress) może całkowicie wysyłać żądania do treści stron trzecich, tak jak żądania Ajax. W rzeczywistości jest to jeszcze łatwiejsze, ponieważ nie ma ograniczeń międzydomenowych ani elementów typu JSONP.
Ale poleganie na żądaniu strony trzeciej, aby serwer w ogóle odpowiedział, jest trochę ryzykowne. Nie chciałbym wymagać tego przy każdym ładowaniu strony w CSS-Tricks. Na szczęście po to są WordPress Transients. W tym filmie właśnie tego używamy. Od czasu do czasu pobieramy dane, a następnie buforujemy je lokalnie, więc większość żądań to superszybkie dane lokalne.