เขียน Plugin wordpress ตอนที่สอง "ลองเขียนตัวอย่าง plugin แบบง่าย"

บทนี้เราจะมาทำการเขียนตัวอย่าง Plugin แบบง่ายๆก่อนนะครับ ซึ่งผมขอแยกเป็นสองแบบแล้วกันนะครับตามการใช้งาน
แบบแรกเป็นการเขียน โดยจะนำฟังก์ชันที่เราเขียนเข้าไปแล้วนำไปรวมเข้ากับฟังก์ชันของระบบ โดยใช้ฟังก็ชัน add_action() หรือ add_filter() หรืออื่นๆ
แบบที่สอง คือเขียนฟังก์ชันขึ้นมาแล้ว เรียกใช้ฟังก์ชันเองโดยการนำโค้ดไปแปะไว้ในส่วนที่ต้องการแสดงผล เช่น <?php myFunction(); ?>
ซึ่งที่ผมจะเสนอสำหรับบทนี้คือแบบแรกครับ
ทีนี้มาดูฟังก์ชันที่ใช้ในการเพิ่มฟังก์ชันของเราครับโดย wordpress แบ่งฟังก์ชันที่ใช้เพิ่มฟังก์ชันเป็นสองกลุ่มคือ Filter Functions และ Actions Functions
ความแตกต่างของฟังก์ชันสองตัวนี้ผมก็ยัง งงๆ บ้างครับแต่พออธิบายได้คร่าวๆก็คือ
Filter Functions  จะเน้นการกระทำที่เกี่ยวกับข้อความ เช่นทำหน้าที่คอยปรับเปลี่ยนข้อความต่างๆก่อนที่จะถูกบันทึกลงฐานข้อมูล หรือ ก่อนที่จะแสดงออกทาง browser
Actions Functions  จะเน้นการปรับเปลี่ยนข้อมูล เช่น แก้ไขข้อมูลต่างๆ  หรือเวลาเราจะสร้างเมนู option สำหรับ plugin ของเราครับ\r\nอันนี้เดี๋ยวรอผู้รู้มากเสริมให้ดีกว่านะครับ
เอาละร่ายมาซะยาวเลยเข้าส่วนของการเขียนโค้ดเลยดีกว่า ตัวอย่างนี้ขอยกมาจากตัวอย่างที่ทาง http://codex.wordpress.org/Plugin_API สอนเลยครับ
เป็น plugin สำหรับกรองคำหยาบแบบง่ายๆครับ มาดูโค้ดกันเลยครับ

<?php
function filter_profanity($content) {
    $profanities = array(''fuck'',''suck'',''WTF'');
    $content=str_ireplace($profanities,''{censored}'',$content);
    return $content;
}
add_filter(comment_text ,filter_profanity);
?>

อธิบายโค้ด คือในขั้นตอนการแสดงผล ฟังก์ชัน str_ireplace จะมีผลทำให้ คำใดก็ตามที่ตรงกับคำใน array ในตัวแปร $profanities จะถูกแทนที่ด้วยคำว่า {censored} ครับ
ส่วนคำสั่ง add_filter(comment_text ,filter_profanity); เป็นการรวมฟังก์ชัน filter_profanity เข้ากับฟังก์ชันที่เราต้องการจะกระทำการไขซึ่งก็คือ ฟังก์ชัน comment_text ซึ่งเป็นฟังก์ชัน ใช้โชว์ข้อความ ความคิดเห็นครับ ในบทความต่างๆครับ (สามารถดูฟังก์ชันที่ใช้กับ Filter Referece ได้ที่http://codex.wordpress.org/Plugin_API/Filter_Reference )
จากนั้นอัพโหลดไฟล์ขึ้นไปทับของเดิม แล้วเข้าไป Activate ปลั๊กอินเลยครับ ที่นี้ก็มาลองทดสอบกันครับ\r\n
จากนั้นกด submit แล้วจะได้แบบนี้เลยครับ

เรียบร้อยครับ สำหรับบทนี้ก็จบเพียงเท่านี้ แต่ครั้งหน้าจะเป็นการเขียน Plugin แบบประยุกต์ใช้งานจริงกันนะครับ ^^