วิธีทำ WordPress Plugin ใช้เองแบบง่าย ๆ

สอน wordpress
สอน wordpress

วิธีทำ WordPress Plugin ใช้เองแบบง่าย ๆ



Wordpress เป็น CMS ที่เพียบพร้อม ใช้งานค่อนข้างง่ายและสะดวกสบาย เหมาะกับผู้เริ่มต้นเรียนรู้ทำเว็บไซต์ไว้
ใช้งานเอง สำหรับ WordPress แล้วมี plugin ทั้งแบบฟรีและเสียเงินให้เลือกใช้มากมาย แต่ plugin สำคัญ ที่ตรง
กับความต้องการของเรา มักจะต้องเสียเงินซื้อเพื่อให้ได้ใช้งานฟีเจอร์สำคัญ ๆ ของ plugin นั้น ๆ อย่างเต็มความสามารถ

เพราะฉะนั้นการสร้าง Plugin หรือส่วนเสริมเพิ่มขึ้นมาเป็นอีกหนึ่งช่องทางที่จะทำให้เว็บไซต์ ของเราสามารถทำงานได้ตรง
ตามความต้องการของเรามากที่สุด ที่สำคัญการสร้าง wordpress plugin ไม่ไช่เรื่องยุ่งยากอะไรมากนัก และถ้าผู้พัฒนา
เว็บไซต์มีพื้นฐานการเขียนโปรแกรมภาษา PHP เบื้องต้นมาอยู่แล้ว ก็ยิ่งจะทำให้การพัฒนา plugin สำหรับ wordpress
เป็นเรื่องง่ายขึ้นไปอีก ลองมาดูกันครับว่า ทำ wordpress plugin ต้องจัดการกับอะไรบ้าง

2 ฟังก์ชั่นหลัก สำหรับการสร้าง WP plugin

  • wp_action
  • ใช้สำหรับเพิ่มความสามารถใหม่ ๆ เข้าไปในเว็บไซต์ wordpress

  • wp_filter
  • ใช้สำหรับปรับปรุงแก้ไขความสามารถต่าง ๆ ที่มีอยู่แล้วในเว็บไซต์ 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

ในหัวข้อนี้เราได้สร้างไฟล์ต้นแบบของ 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 เท่านั้นเอง