วิธีทำ WordPress Plugin ใช้เองแบบง่าย ๆ
Wordpress เป็น CMS ที่เพียบพร้อม ใช้งานค่อนข้างง่ายและสะดวกสบาย เหมาะกับผู้เริ่มต้นเรียนรู้ทำเว็บไซต์ไว้
ใช้งานเอง สำหรับ WordPress แล้วมี plugin ทั้งแบบฟรีและเสียเงินให้เลือกใช้มากมาย แต่ plugin สำคัญ ที่ตรง
กับความต้องการของเรา มักจะต้องเสียเงินซื้อเพื่อให้ได้ใช้งานฟีเจอร์สำคัญ ๆ ของ plugin นั้น ๆ อย่างเต็มความสามารถ
เพราะฉะนั้นการสร้าง Plugin หรือส่วนเสริมเพิ่มขึ้นมาเป็นอีกหนึ่งช่องทางที่จะทำให้เว็บไซต์ ของเราสามารถทำงานได้ตรง
ตามความต้องการของเรามากที่สุด ที่สำคัญการสร้าง wordpress plugin ไม่ไช่เรื่องยุ่งยากอะไรมากนัก และถ้าผู้พัฒนา
เว็บไซต์มีพื้นฐานการเขียนโปรแกรมภาษา PHP เบื้องต้นมาอยู่แล้ว ก็ยิ่งจะทำให้การพัฒนา plugin สำหรับ wordpress
เป็นเรื่องง่ายขึ้นไปอีก ลองมาดูกันครับว่า ทำ wordpress plugin ต้องจัดการกับอะไรบ้าง
2 ฟังก์ชั่นหลัก สำหรับการสร้าง WP plugin
- wp_action
- wp_filter
ใช้สำหรับเพิ่มความสามารถใหม่ ๆ เข้าไปในเว็บไซต์ wordpress
ใช้สำหรับปรับปรุงแก้ไขความสามารถต่าง ๆ ที่มีอยู่แล้วในเว็บไซต์ wordpress
เริ่มสร้างและทดสอบติดตั้ง plugin
- 1. สร้างโฟลเด้อขึ้นมาครับตั้งชื่อว่า hello-wp-plugin
- 2. สร้างไฟล์ชื่อว่า hello-wp-plugin.php วางไว้ในโฟลเด้อ hello-wp-plugin
- 3. ในไฟล์ hello-wp-plugin.php ให้เขียนรายละเอียด comment code โดยให้มีโครงสร้างดังนี้ครับ
<?php /** * Plugin Name: Hello WP Plguin * Plugin URI: http://www.codebee.co.th/labs/ * Description: just a test wordpress plugin * Version: 1.0.0 * Author: Codebee Company Limited * Author URI: http://www.codebee.co.th * License: GPL2 */ ?>
- 4. ทดลองติดตั้ง plugin โดยให้อัพโหลดไปไว้ที่ wp-content/plugins/hello-wp-plugin
- 5. ไปที่หน้า Plugins ของ WordPress จะเห็นรายละเอียดของ hello-wp-plugin ตามที่เราได้เขียนไว้ ดังรูป
ในหัวข้อนี้เราได้สร้างไฟล์ต้นแบบของ wordpress plugin เรียบร้อยแล้วครับ ในหัวข้อต่อไปลองมาทดสอบใช้
2 คำสั่ง add_action และ add_filter เพิ่มความสามารถและปรับปรุงข้อมูลบางอย่างของ wordpress กันครับ
ใช้คำสั่ง add_action
เปิดไฟล์ hello-wp-plugin.php ที่เราได้สร้างไว้ในหัวข้อที่แล้ว และเพิ่มคำสั่ง add_action เข้าไป
โดยที่จุดประสงค์หลักของ plugin ตัวนี้คือต้องการเพิ่ม meta copyright เข้าไปในส่วน header ของหน้าเว็บไซต์
เราจะสามารถเขียนโค๊ดได้ประมาณนี้ครับ
function your_function() { echo "<meta name='copyright' content='company name'>"; } add_action('wp_head', 'your_function');
อธิบายคำสั่ง add_action
- ฟังก์ชั่น add_action ต้องการพารามิเตอร์หลัก ๆ อยู่ 2 ตัวคือ tag และ callable พารามิเตอร์ตัวแรกคือ tag
ส่วนนี้เราสามารถดูรายชื่อทั้งหมดได้ที่เว็บไซต์ https://developer.wordpress.org/reference/ - พารามิเตอร์ตัวที่ 2 คือ your_function เป็น callable ฟังก์ชั่นที่จะเริ่มทำงานเมื่อระบบของ wordpress
เริ่มการทำงานและรันสคลิปต์มาถึงส่วน tag นั้น ๆ ใน plugin ที่เราสร้างคือให้เพิ่ม meta copyright เข้าไปนั่นเอง - คำสั่ง add_action ยังสามารถเพิ่มพารามิเตอร์อื่น ๆ เข้าไปได้อีก แต่หลัก ๆ จะต้องการแค่ 2 ตัวคือ tag กับ
callable function วิธีเพิ่มพารามิเตอร์หรือตัวแปรอื่น ๆ ก็สามารถเพิ่มเข้าไปต่อจากฟังก์ชั่นได้เลยครับ ตัวอย่างเช่นadd_action('wp_head', 'your_function',$name,$content);
และเมื่อเข้าไปทำงานในฟังก์ชั่นเราก็สามารถเขียนได้ในลักษณะแบบนี้ได้ครับ
function your_function($name,$content) { echo "<meta name='".$name."' content='".$content."'>"; }
ใช้คำสั่ง add_filter
เปิดไฟล์ hello-wp-plugin.php ครับลองลบคำสั่ง add_action ออกไปและแทนที่ด้วยคำสั่ง add_filter โดย
จุดประสงค์ของเราคือต้องการเปลี่ยน title ในหน้าติดต่อเราเป็นข้อความแบบอื่น เราจะสามารถเขียนโค๊ดได้ในลักษณะนี้ครับ
function your_function($title) { if($title == "ติดต่อเรา"){ $title = "ติดต่อเค้า"; } return $title; } add_action('the_title', 'your_function' );
จะสังเกตุว่าทั้ง add_action และ add_filter มีลักษณะการทำงานที่คล้ายกัน คือ เริ่มจากพารามิเตอร์ตัวแรกเป็น
wp tag และตามด้วยชื่อฟังก์ชั่นที่เราต้องการให้ทำงาน แต่จะมีแตกต่างกันนิดหน่อยคือ add_filter จะมีการ pass ตัวแปร
เป็นค่าพารามิเตอร์ติดไปกับฟังก์ชั่นด้วย โดยที่ตัวแปรนั้นจะมีหรือไม่มี ขึ้นอยู่กับ tag ที่เราเรียกใช้งานด้วยนะครับ
แนวทางพัฒนา WP Plugin ใช้งานเอง
เบื้องต้นคงต้องดูที่จุดประสงค์ครับว่าเว็บไซต์ wordpress ที่เราพัฒนาอยู่ต้องการปรับปรุ่งส่วนไหนหรือต้องการเพิ่มความ
สามารถส่วนไหน ถ้าลองหา plugin ดูแล้ว ไม่มีตัวไหนที่ตรงตามความต้องการเลย ก็พัฒนาขึ้นมาใช้เองซะเลย
จากชุดคำสั่งด้านบนจะเห็นว่าการทำงานของ wordpress plugin ไม่ได้มีอะไรซับซ้อนเลย เพียงแต่ต้องหาข้อมูล
และทำความเข้าใจกับ wordpress syntax พวก Method และ Property ต่าง ๆ และพัฒนาให้ถูกต้องตามกฏเกณฑ์
ของ wordpress เท่านั้นเอง