Dagens länkar

wp_send_json_success()

https://codex.wordpress.org/Function_Reference/wp_send_json_success

wp_send_json_error()

https://codex.wordpress.org/Function_Reference/wp_send_json_error


Workshop

Skriv om ditt StarWars Trivia-plugin så att den hämtar data asynkront via AJAX istället för att som nu blockera sidladdningen medan data hämtas från SWAPI.co.

Eftersom din kod i swapi.php redan returnerar data i form av en array, så har du i princip en tredjedel redan klart.

Förslag på tillvägagångssätt:

  1. Lägg till enqueuing av en JavaScript-fil och lägg samtidigt till wp_localize_script för att exponera URL:en till din WordPress-installations AJAX-endpoint.
  2. Implementera en lämplig AJAX-hook, t.ex. get_sw_trivia eller get_starwars_vehicles.
  3. Skapa din JavaScript-fil från steg 1 och skapa lämplig funktion som din widget kan kalla på.
  4. I funktionen i steg 3, gör en $.post() till AJAX-url:en med action-parametern satt till den hook som du vill hämta data för.
  5. Parse:a responsen från $.post-anropet och rendera det i din widget (förslagsvis med hjälp av $.html()).
Kategorier: WP Plugin