เขียน AJAX บน WordPress
ปกติเวลาที่เราเขียน AJAX กัน การรับส่งข้อมูลระหว่างเบราเซอร์และเซิร์ฟเวอร์ จำเป็นจะต้องมี handler ตัวหนึ่งคอยจัดการ (ก็ที่เราสร้างออพเจ็กท์ xhr เรียกไปหาสคริปท์บนเซิร์ฟเวอร์สักตัวหนึ่ง เช่น xhr.php นั่นแหละ) ซึ่งหลายๆ คนที่เป็นมือใหม่เวิร์ดเพรส อาจจะมีคำถามว่า แล้วบนเวิร์ดเพรสมันทำยังไง?
ในการทำ AJAX บนเวิร์ดเพรสนั้น เวิร์ดเพรสจะเตรียม action ตัวหนึ่งเอาไว้ให้เรา นั่นคือ wp_ajax วิธีใช้ของมันก็คือจัดการ add_action(); เข้าไป โดย action ที่จะใช้คือ wp_ajax_xxxx โดย xxxx จะเป็นชื่ออะไรก็ได้ที่เราต้องการใช้ โดยชื่อนี้จะเอาไว้เรียกหาแอคชันนี้ด้วย admin-ajax.php (ผมรู้ว่างง เดี๋ยวอ่านๆ ไปจะเก็ตเอง)
เอาล่ะ มาดูโค๊ดกัน
<?php add_action("wp_ajax_myxhr", "myajax"); function myajax(){ ... die(); } ?>
อันนี้คือการ add_action(); ปกติของเวิร์ดเพรส โดยพารามิเตอร์แรกจะเป็นชื่อแอคชัน และพารามิเตอร์ที่สองจะเป็นชื่อฟังก์ชันที่เราจะใช้ สังเกตุว่าเราจะใส่ die(); ลงไปที่ท้ายฟังก์ชันด้วย เพราะว่าถ้าเราไม่สั่ง die(); ตัว admin-ajax.php มันจะพ่นค่าต่อท้ายออกมา (เอาจริงๆ ผมก็ไม่รู้เหมือนกันว่ามันคือค่าของอะไร) ทำให้ xhr ของเราเจ๊งได้ครับ อย่างนี้