"AJAX (ראשי תיבות של Asynchronous JavaScript And XML) היא טכניקה ליצירת יישומי רשת אינטראקטיביים המבוססים על קוד המורץ במסגרת דף HTML בודד, ולא כיישום מרובה דפים, כמקובל בסביבת ה-Web. מטרתה העיקרית של הטכניקה היא שיפור חוויית המשתמש והאצת מהירות הטעינה של דפי האינטרנט, מאחר שהיא מאפשרת לעדכן רק חלקים מבוקשים בדף האינטרנט, ללא צורך לטעון את הדף כולו מחדש במחשבו של המשתמש." להמשך קריאה בויקיפדיה
אמ;לק: AJAX זוהי טכנולוגיה המאפשרת לנו לשלוח מידע לשרת ולקבל מידע ממנו ללא כל צורך בריפרוש הדף הנוכחי בו היוזר נמצא.
מספר יתרונות בשימוש ב-AJAX:
אז… אחרי שחידדנו לגבי AJAX, הגיע הזמן לדבר על השימוש בטכנולוגיה במערכת ניהול התוכן הפופולרית בעולם – וורדפרס.
וורדפרס עושה שימוש נרחב ב-AJAX בממשק הניהול (בעיקר בעזרת jQuery בשל הפשטות ביחס ל-VanillaJS ומפני שוורדפרס מגיעה עם גרסת jQuery מובנית), בפעולות שוטפות שהנכם מבצעים, למשל: בהוספת/הסרת קטגוריות/תגיות/תגובות ואפילו במנגנון השמירה האוטומטי, שפועל נהדר בזמן כתיבת שורות אלו 🙂
אז איך נראה תהליך העבודה? פשוט מאד:
שימו לב: YourActionName זהו הערך שהועבר תחת action בבקשת AJAX המתוארת בסעיף הקודם.
בנוסף, במידה ותרצו לטרגט את כולם (משתמשים מחוברים + אורחים) יהיה עליכם לעבוד עם 2 ההוקים.
דוגמה לבקשת AJAX בוורדפרס בעזרת jQuery:
jQuery.ajax({ type : "post", // You can send the request in POST/GET dataType : "json", url : "/wp-admin/admin-ajax.php", data : {action: "YourActionName"}, success: function(response) { console.log(response); } });
הערות:
טיפול בבקשה ע"י הגדרת האקשנים (actions) עבור 2 ההוקים שנוצרו:
add_action("wp_ajax_YourActionName", "functionForUsers"); add_action("wp_ajax_nopriv_YourActionName", "functionForGuests"); function functionForUsers() { die(json_encode(array('msg'=>'Hello'))); } function functionForGuests() { die(json_encode(array('msg'=>'Please login'))); }
כפי שבוודאי הבנתם, יצרתי כאן 2 פונקציות שעתידות להכנס לפעולה עבור משתמשים מחוברים/אורחים בהתאם להוק שנוצר בעקבות בקשת ה-AJAX שנשלחה.
ניתן לקרוא בהרחבה על עבודה נכונה עם AJAX באתרים מבוססי וורדפרס ב-Codex הרשמי