เขียน 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 ของเราเจ๊งได้ครับ  อย่างนี้

Read More