WordPress 2.3 มาแล้ว

ผม upgrade เป็น WordPress 2.3 (Dexter) แล้ว  เวอร์ชันใหม่นี้มีอะไรบ้าง  ก็คงมีคนพูดถึงมากมายแล้ว   แต่ขอพูดถึงการเปลี่ยนแปลงที่น่าสนใจไว้หน่อยครับ

  • Native tagging support  มีระบบ tag  เพิ่มเติมจาก category ของเดิม
  • Plug-in update notification เมื่อผู้พัฒนา plug-in ออกเวอร์ชันใหม่ๆ ก็จะมีข้อความแจ้งบอก  (แต่ต้องเข้าไปดูในส่วน plug-in เองนะ)
  • Canonical URLs ทำให้รองรับรูปแบบของ URL ที่ยืดหยุ่นมากขึ้น (อ่านรายละเอียดเพิ่มเติม)
  • advanced WYSIWYG  ที่เลิกซ่อนฟังก์ชันที่แอบไว้ของ TinyMCE (ต้องกด CTRL+Shift+V)
  • รองรับ Atom 1.0 อย่างสมบูรณ์แบบ
  • เร็วขึ้นจากเดิม 800% จากผลของ jQuery  (ว้าว!)

Upgrade ยังไง? 

ขั้นตอนการ upgrade ก็ง่ายดายเหมือนเดิม  แต่ควรจะทำการ Backup Database และไฟล์เดิมเสียก่อน แล้วก็ upload ไฟล์ต่างๆ  ของเวอร์ชัน 2.3 เข้าไป   และเรียกใช้งาน upgrade.php ก็เป็นอันเสร็จ   อย่างไรก็ตามควรจะตรวจสอบด้วยว่า plug-in ที่ใช้อยู่นั้นทำงานได้กับเวอร์ชัน 2.3 หรือไม่

สำหรับผมนั้นโชคดีที่  plug-in ไม่มีปัญหาอะไร  แต่ก็พบว่า plug-in ที่ใช้อยู่จำนวนหนึ่งได้ update เวอร์ชันไปแล้ว  (คลิกเข้าไปทีดูที่ส่วนของ plug-in จะเห็นข้อความเตือนเลย)

ทำอะไรบ้างหลังจาก upgrade

หากเคยใช้ tag plug-in ต่างๆ มาก่อนหน้านี้ เช่น Ultimate Tag Warrior, Jerome’s Keyworkds, Simple Tags และ Bunny’s Tecghorati Tag  ก็ควรจะทำการ import เอาข้อมูลเดิมมาใส่ในฐานข้อมูล tag ของ WordPress   ซึ่งก็ทำไม่ยากเพราะทีมงานของ WordPress ได้เตรียมการไว้ให้แล้ว

ขั้นตอนง่ายๆ แค่คลิกที่ Manage -> Import แล้วก็เลือกว่าจะ Import tag จาก plug-in ไหน  ทุกอันจะมีคำเตือนว่า “Don’t be stupid – backup your database before proceeding!” ยังไงก็ควรจะทำตามนะครับ

แก้ไขธีมให้รองรับ tag

ถ้าธีมที่ใช้อยู่ยังไม่รองรับ tag เราก็สามารถเพิ่มเข้าไปได้เลย  โดยการเพิ่มฟังก์ชัน the_tags() เข้าไปเพื่อให้แสดง tag ที่เราใส่ออกมา  รูปแบบเป็นดังนี้ครับ

<?php the_tags(‘before’, ’separator’, ‘after’); ?>

before เป็น คำ หรือ ข้อความ หรือ คำสั่งของ HTML ที่อยากให้ปรากฎก่อนรายชื่อ tag ต่างๆ
separator เป็น ตัวอักษรที่ใช้แยก tag ต่างๆ ออกจากกัน
after เป็น คำ หรือ ข้อความ หรือ คำสั่งของ HTML ที่อยากให้ปรากฎหลังรายชื่อ tag ต่างๆ

เช่น ถ้าอยากให้แสดงผลแบบนี้  แท็กของฉัน: กินข้าว, ดูหนัง, ฟังเพลง  ก็ใช้คำสั่งแบบนี้

<?php the_tags(‘แท็กของฉัน: ’, ’, ’, ‘’); ?>

อ่านรายละเอียดเพิ่มเติมได้ที่ How to add WordPress 2.3 tags to your current theme ครับ

ส่วน tag clouds เหมือนทางฝั่งขวามือใน sidebar ก็ใช้ฟังก์ชัน wp_tag_cloud()  เช่น

<?php wp_tag_cloud(‘smallest=8&largest=18&number=50’); ?>

smallest เป็นขนาดของตัวอักษรตัวเล็กที่สุด
largest เป็นขนาดของตัวอักษรตัวใหญ่ที่สุด
number เป็นจำนวน tag ที่จะแสดงออกมา

มี option อื่นๆ อีกอ่านรายละเอียดเพิ่มเติมได้ที่นี่ครับ: wp_tag_cloud

แก้วันที่ให้แสดงเป็นภาษาไทย

ชื่อเดือนและวันนั้น ผมก็ทำการ localize เฉพาะในส่วนของการแสดงผลชื่อเดือนและวันให้เป็นภาษาไทย  จากนั้นก็สร้างไดเรกทอรีชื่อ languages ภายใต้ wp-includes  แล้วก็เอาไฟล์ th_TH.mo ใส่ไว้ข้างใน  ขั้นตอนต่อไปก็แก้ไขไฟล์ wp-config.php ให้มาอ่านไฟล์นี้

define (‘WPLANG’, ‘th_TH’);  // อ่านเพิ่มเติมที่นี่

แล้วผมก็เขียน plug-in ง่ายๆ ขึ้นมาเพื่อให้แปลงปี ค.ศ. เป็นปี พ.ศ.  เสีย  plug-in ใช้งานได้ดีในส่วนของข้อความที่โพสในแต่ละวัน   แต่ก็ยังมีบางส่วนที่ต้องเข้าไปแก้ไขใน script โดยตรง  ซึ่งก็ไม่ได้ยุ่งยากอะไร

โครงสร้าง Theme ของ WordPress

สักวันหนึ่งจะลองนั่งเขียน Theme ของ wordress เองครับ บังเอิญไปเจอเว็บที่เขียนอธิบายไฟล์ต่างๆ ของ theme ไว้ที่นี่

Anatomy of a WordPress Theme

style.css – The main stylesheet. This must be included with your theme.

index.php – The main template. If your theme provides its own templates, index.php must be present.

comments.php – The comments template. If not present, wp-comments.php is used.

comments-popup.php – The popup comments template. If not present, wp-comments-popup.php is used.

single.php – The single post template. Used when a single post is queried. For this and all other query templates, index.php is used if the query template is not present.

page.php – The page template. Used when a page is queried.

category.php – The category template. Used when a category is queried.

author.php – The author template. Used when an author is queried.

date.php – The date/time template. Used when a date or time is queried. Year, month, day, hour, minute, second.

archive.php – The archive template. Used when a category, author, or date is queried. Note that this template will be overridden by category.php, author.php, and date.php for their respective query types.

search.php – The search template. Used when a search is performed.

404.php – The 404 Not Found template. Used when WordPress cannot find a post that matches the query.