ในการทำเว็บ WordPress นั้น คงไม่ใช่ทุกครั้งที่ตัว WordPress จะตอบสนองความต้องการในการทำเว็บเราได้ทั้งหมด ดังนั้นเราจึงต้องมีการปรับแต่งตัว WordPress ของเราในรูปแบบต่าง ๆ
ทำไมถึงต้องสร้าง Plugin บางครั้งเราก็ทำการปรับแต่ง code โดยตรง ซึ่งจะมีปัญหาเมื่อ WordPress มีการอัพเดต เพราะ code ที่เราเขียนไว้ก็จะถูกทับโดย code ของตัวอัพเดตจาก WordPress ซึ่งแก้ไขได้โดย
- อย่าไปอัพเดต WordPress มันเลย
- อัพเดตตามปรกตินั่นละ แต่มาเขียนใหม่อีกที
- สร้าง Plugin เพื่อที่เมื่ออัพเดต code ที่เราปรับแต่ง WordPress ไปก็ยังอยู่
ที่พูดถึงไม่เฉพาะตัว WordPress อย่างเดียวนะครับ ยังรวมไปถึง Theme ของ WordPress ด้วย ในการแก้ functions.php เมื่อเวลา Theme ตัวนั้นมีการอัพเดต สิ่งที่เราเขียนเพิ่มเติมลงไป ก็จะถูกทับด้วยไฟล์ที่อัพเดตมา
ทำให้ WordPress เห็น Plugin ที่เราสร้างขึ้น ก่อนจะสร้าง Plugin มาลองทำให้ WordPress เห็น Plugin ที่เราสร้างขึ้นมาก่อน โดยผลลัพธ์จะเป็นแบบนี้นะครับ
ไปที่ path /wp-content/plugins/ นะครับ แล้วสร้าง folder Plugin ของเรา ผมตั้งชื่อ folder เป็น rabbitinblack แล้วสร้างไฟล์ขึ้นมา ชื่อ rabbitinblack.php
สังเกตจาก Plugin ที่ลง ๆ ไว้ในเว็บตัวเอง ทุกอันชื่อ folder กับชื่อไฟล์ php ที่ใช้ระบุรายละเอียด Plugin จะมีชื่อเหมือนกัน แต่ผมลองตั้งชื่อต่างกัน ก็ได้ผลเหมือนกันนะ แต่ทำตามสากลเค้าไปดีกว่า
มาถึงส่วนที่จะทำให้ WordPress เห็น Plugin ของเราแล้วครับ คือการใส่ code นี้เข้าไป
<?php
/*
Plugin Name: Test Plugin
Plugin URI: rabbitinblack.com/test
Description: ทดสอบเขียน Plugin WordPress
Author: Rabbitinblack
Author URI: [url=http://pordoo.com/go.php?url=http://www.rabbitinblack.com/]http://www.rabbitinblack.com/[/url]
Version: 1.0
*/
?>
และในหน้า Plugin ของเราก็จะปรากฎชื่อ Plugin ที่เราสร้างขึ้นมา
ทดลองสร้าง Plugin คราวนี้เรามาทดลองสร้าง Plugin กันดูนะครับ ผมจะลองสร้าง Plugin ที่จะใส่คำว่า Title : ไว้ด้านหน้าของหัวข้อทุกตัวนะครับ code ก็จะประมาณนี้
<?php
/*
Plugin Name: Test Plugin
Plugin URI: rabbitinblack.com/test
Description: ทดสอบเขียน Plugin WordPress
Author: Rabbitinblack
Author URI: [url=http://pordoo.com/go.php?url=http://www.rabbitinblack.com/]http://www.rabbitinblack.com/[/url]
Version: 1.0
*/
function add_title_word($text) {
return ‘Title : ‘.$text;
}
add_filter(‘the_title’,’add_title_word’);
?>
ซึ่งผลลัพธ์ที่ได้ ก็เป็นแบบนี้ครับ
ที่มา:
http://rabbitinblack.com/2012/01/basic-build-plugin-wordpress/