เริ่มต้นเขียน WordPress Plugin แบบง่ายๆ

เพิ่งลองหัดเขียน WordPress Plugin โดยอ่านจาก Tutorial: How to write a WordPress Plugin? ขอบันทึก + แปลเป็นภาษาไทยเก็บไว้สักหน่อย

ก่อนจะเขียนเราควรจะระลึกไว้ก่อนว่า

  1. ชื่อ plugin ควรจะไม่ซ้ำใคร ถ้าชื่อซ้ำกันแล้ว plugin ที่เราเขียนอาจจะไปมีผลกระทบกับ plugin อันอื่นที่ใช้อยู่
  2. เราควรจะเขียน comment ตรงส่วนที่คิดว่าจำเป็นไว้ในโค้ดด้วย เพื่อที่คนอื่นเข้ามาพัฒนาต่อจะได้ไม่มึน
  3. เราควรจะทดสอบ plugin ที่เขียนเสร็จแล้วบน localhost กับ WordPress เวอร์ชั่นล่าสุด ก่อนที่จะนำไปใช้จริงในตัว production

ถ้าโอเคทั้งหมด 3 ข้อแล้ว เราก็จะมาสร้าง plugin ที่ให้แสดงคำว่า Hello World บนหน้า WordPress กัน 🙂

ขั้นตอน แรก ให้เราไปสร้าง folder ชื่อ hello-world ใน wp-content/plugins และใน folder นี้ควรที่จะต้องมีไฟล์อย่างน้อย 2 ไฟล์ นั่นก็คือ

  1. ไฟล์ PHP ที่มีชื่อเดียวกับชื่อ plugin ในที่นี้คือ hello-world.php
  2. ไฟล์ readme.txt ไฟล์นี้จำเป็นต้องมีถ้าต้องการที่จะอัพโหลดไปที่ WordPress Plugin Directory และเราก็ควรจะเขียนตามฟอร์แมตของเค้าด้วย ลองดูจากตัวอย่าง readme sample

ให้สร้างไว้ทั้ง 2 ไฟล์เลย

ในการเขียน plugin นั้น จะมีสิ่งเล็กๆ ที่เรียกว่า hooks ซึ่งจะมีฟังก์ชั่นหลักๆ คือ

  • add_action($tag, $action) -- ก็ตามชื่อครับ ว่าเราจะเพิ่ม action หนึ่งๆ ไว้ตามจุดต่างๆ ที่เราต้องการให้ WordPress รัน
  • add_filter($tag, $action) -- ฟังก์ชั่นนี้จะเหมือนเป็นการ filer ข้อมูล แก้ไขค่าของตัวแปร ก่อนที่จะอัพเดทฐานข้อมูล หรือแสดงผลออกทางหน้าเว็บ

ที่นี้เรา มาดูไฟล์ hello-world.php กัน ในไฟล์นี้เราจะต้องมีข้อมูลของ plugin ตัวที่เราสร้างอยู่ด้วย โดยจะเรียกส่วนนี้ว่า information header ฟอร์แมตก็มีประมาณนี้

<?php
/*
  Plugin Name: Name Of The Plugin
  Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
  Description: A brief description of the Plugin.
  Version: The Plugin's Version Number, e.g.: 1.0
  Author: Name Of The Plugin Author
  Author URI: http://URI_Of_The_Plugin_Author
  License: A "Slug" license name e.g. GPL2
*/
?>

ข้อมูลพวกนี้เป็นข้อมูลขั้นต่ำที่ WordPress ต้องการนะครับ เราก็ควรใส่ให้ครบ แล้วก็จะได้ประมาณนี้

<?php
/*
  Plugin Name: Hello-World
  Plugin URI: http://www.wordpress-66.com/
  Description: A simple hello world WordPress plugin
  Version: 1.0
  Author: WP-66
  Author URI: http://www.wordpress-66.com
  License: GPL
*/
?>

ทีนี้เราก็ลองเปิดหน้าเว็บ WordPress ของเรา แล้วเข้าไปในส่วน Admin และเลือกส่วน Plugins ถ้าทำตามขั้นตอนมาจะเห็น plugin ของเราขึ้นตามรูปข้างล่างนี้

กลับมาที่โค้ด hello-world.php กันต่อ เราก็ใส่เพิ่มโค้ดส่วนนี้ลงไป

add_action('init','hello_world');
function hello_world() {
  echo "Hello World";
}

โค้ดข้างบนนี้จะบอกให้ WordPress เรียกฟังก์ชั่น hello_world ทุกครั้งที่ initialize นั่นก็คือทุกครั้งที่มีการโหลดหน้าเพจ หรือพูดง่ายๆ ก็คือให้แสดงคำว่า Hello World ไว้ทุกหน้านั่นเอง หลังจากเขียนไฟล์นี้เสร็จ ให้ไป Activate ซะ แล้วก็ลองเข้าหน้าเว็บดู ควรจะได้ผลตามรูปข้างล่างนี้

เป็นอันเสร็จสิ้น plugin ตัวแรก เย้~ 🙂

Author: zkan

Soon to be a newbie data scientist. I ♥ machine learning, computer vision, robotics, image processing, data visualization, and data analytics.

Leave a Reply

Your email address will not be published. Required fields are marked *