Kategorie
Snippet WordPress

WordPress: Cykliczne pobieranie opcji

Czasem, wyświetlając serwis, należy aktualizować coś na stronie, ale bez przeładowywania. Standardowym przykładem może być liczba osób, aktualnie przeglądających witrynę.

WordPress posiada wbudowaną obsługę zapytań asynchronicznych (AJAX), którą można wykorzystać w tym celu. Całość wykorzystuje dwie akcje:

  • wp_ajax_nopriv_{nazawa} dla użytkowników niezalogowanych
  • wp_ajax_{nazawa} dla tych zalogowanych.

Częstym błędem jest umieszczenie tylko jednej z tych akcji.

ie6 + ajax – koszmar z ulicy www

Wyobraźcie sobie system CMS dedykowany do obsługi naprawdę dużego ruchu, wielu redaktorów, wielopoziomowej możliwości akceptacji treści. Dobra może wystarczy. Jest sobie taki system.

Dla tych co wiedzą, jest to znany problem opisany nawet na wiki: XMLHTTP, więc jak kto zna, to nie czytać. Wpis sobie tak czy inaczej zrobię. Ku pamięci.

W przypadku jakiejś tam liczby rzeczy do wyświetlenia, np. drzewa folderów, czy dużej liczby dokumentów, warto zastosować prosty trick. Zamiast ładować całą stronę można załadować „szkielet”, a poszczególne treści dociągnąć za pomocą AJAX’a. Brzmi fajnie? I jest fajne. Same zalety, klient cieszy się że szybko coś widać, choć sumaryczny czas ładowania strony jest przecież większy, ale strona działa, można zmienić folder, przejść gdzieś po menu, a samo drzewo folderów czy też lista dokumentów z wybranego folderu może przyjść za chwilę.