Action และ Filter ใน WordPress ต่างกันอย่างไร?
ในเวิร์ดเพรสนั้นจะมีวิธี Hook การทำงานอยู่ 2 แบบ คือผ่าน Action และ Filter ซึ่งการทำงานของทั้ง Action และ Filter นี่มันคล้ายกันมาก … ไม่สิ จริงๆ มันเหมือนกันเลย!!
ไม่เชื่อลองไปเปิดไฟล์ wp-includes/plugin.php ดูแถวๆ บรรทัดที่ 400 กว่าๆ (ตอนนี้ 4.1.1 ก็อยู่ที่ 429) จะเจอการประกาศฟังก์ชันเอาไว้ดังนี้
function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) { return add_filter($tag, $function_to_add, $priority, $accepted_args); }
ครับ add_action() มันก็เป็น wrapper ธรรมดาๆ ของ add_filter() นั่นแหละ … อ้าว! แล้วมันต่างกันยังไง?