Theme

WordPress: เพิ่ม widget ให้กับธีมของเวิร์ดเพรส

มีงานด้านเว็บให้ทำ 2 งาน เลยเลือกใช้ WordPress เพราะมันใช้ง่ายกว่า Drupal ในสายตาคนทั่วไป (รวมทั้งพัฒนาง่ายดีด้วยสำหรับผม) แต่ยังไงก็ยังชอบ Drupal มากกว่าอยู่นะ ก็แค่เลือกใช้ CMS ให้เหมาะกับคน และกับงานเท่านั้นเองครับ

และบังเอิญจำเป็นต้องสร้าง widget ขึ้นมาเพื่อใช้งาน เลยเอาวิธีสร้าง widget มาเขียนถึงสักหน่อยครับ

การสร้าง widget ใน WordPress ทำได้โดยการ สืบต่อคลาส WP_Widget ในไฟล์ functions.php ออกมา โดยมีโครงสร้างที่จำเป็นดังนี้

Theme's comment from Blognone's members

ช่วงเดือนธันวาคม ปลายปี 2551 ผมนั่งทำธีม Drupal ใหม่สำหรับเว็บนี้ (ธีมปัจจุปันนี่แหละ) โดยเริ่มจาก Garland ถึงใครจะบอกว่ามันไม่ใช่จุดเริ่มต้นที่ดีนัก แต่ผมต้องการธีมที่แสดงหลายคอลัมภ์ได้ และเปลี่ยนขนาดไปตามความละเอียดของหน้าจอได้ ที่จริงธีมก่อนหน้านี้ (Candy Bar) ก็ทำได้แต่มันยังไม่สุดในความคิดผม และไม่ได้เก็บรายละเอียดสักเท่าไหร่

ธีมนี้ (Blue Light) จดประสงค์หลักคือ อยากจะให้มันเป็นธีมที่เรียบง่าย ดูสะอาด สบายตามากที่สุด แต่ทำคนเดียว มันมองไม่เห็นอะไรมากนัก พอไปเห็นว่าทาง Wordpress เขามีรับวิจารณ์ธีม กับการออกแบบเว็บ ผมเลยลองเอาแนวคิดนั้นไปลองดูบ้างกับทาง Blognone

ผลที่ได้ ไม่ค่อยดีนัก คือมีคนมาแนะนำแค่ 2 คน (คุณ l2aelba กับคุณ desci) แต่ก็ยังดีกว่าไม่มี ซึ่งผมสรุปได้ว่า

  • หัวข้อ แท็ก และเนื้อหา แบ่งแยกออกจากกันไม่ชัดเจน
  • ดูเรียบเกินไป ไร้มิติ ควรเพิ่มแสงเงา และ texture เข้ามาบ้าง
  • เนื้อหาไม่โดดเด่น (อันนี้เป็น blog มันไร้สาระ (มั้ง) เลยขอข้ามละกัน!)

ผมเลยใส่แสงของดาวสีฟ้าลงไปที่หัวข้อ กับเพิ่มระยะห่างระหว่างหัวข้อกับเนื้อหา แล้วก็ใส่การไล่สีที่เมนูอีกนิดหน่อย กลัวว่าทำมากไป เดี๋ยวมันจะผิดแนวคิดที่จะทำให้มันเรียบง่ายไปเสียก่อน

ป.ล. ผมกะว่าจะปล่อยธีมนี้เป็น contributed theme บน Drupal.org ด้วย และจะ port ไปยัง Drupal 7 ด้วย

7-Zip Theme Manager

เมื่อก่อนใช้ WinRAR (เถื่อน) เป็นหลักมานาน แต่มาระยะหลังก็เริ่มเลิกใช้ของเถื่อน และหันมาใช้ 7-Zip แทน มีความเห็นอย่างเดียวกับ 7-Zip คือ ไม่สวย ทั้งไอคอน และหน้าตาของโปรแกรม ไม่รู้ว่าทางคุณ Igor Pavlov มองส่วนนี้ยังไง ถึงไม่เคยปรับธีมของโปรแกรมเลย

ส่วนดีของมันคือ ใช้ง่าย และ แม้แต่มุมมองที่ใช้ไอคอนขนาด 16x16 ก็ยังแยกออกว่าเป็นไฟล์ประเภทใด แต่มันไม่มี ความประทับใจแรก เอาเสียเลย

วันนี้ลองนั่งหาเรื่องไอคอนของไฟล์ประเภท .zip ดู ก็เลยอยากได้ไอคอนของ 7-Zip ใหม่ และไปเจอ 7-Zip Theme Manager เข้าโดยบังเอิญ มีทั้งธีม และไอคอนให้เลือกหลายแบบ แล้วแต่ความชอบ

ผมเลือก ColorCons ของคุณ Ken Saunders เป็น Theme และเลือก Vista Style 2 ของคุณ Hari Seldon เป็น Icon Set ถึงแม้ขนาดไอคอนจะไม่มีในระดับใหญ่ ๆ เพื่อรองรับ Windows 7 แต่ก็ยังรู้สึกดีกว่าไอคอนแบบคลาสิคอยู่มาก

Candybar Drupal Theme 1.0

Candybar เป็นธีม ที่มีขอบมน ๆ ซึ่งได้จาก -moz-border-radius กับ -webkit-border-radius ดังนั้น มันจะไม่แสดงผลบน Opera และ Internet Explorer แต่จะแสดงผลกับ Firefox (Gecko Engine) และ Safari/Chrome (Webkit Engine) หรือเบราว์เซอร์อื่น ๆ ที่ใช้ Engine พวกนี้

ผมตั้งใจจะทำสำหรับใช้ในเว็บนี้เท่านั้น จึงไม่ได้ลองแก้ไขในส่วนฟอรั่มซึ่งเว็บนี้ไม่มี จึงไม่รู้ว่า หากนำไปใช้ที่อื่น ตรงนี้จะเป็นอย่างไรบ้าง

สิ่งที่ทำเป็นพิเศษคือช่องสำหรับ Google Custom Search แต่จะให้เห็นกล่องนี้ได้ต้องปิดช่อง Search Box ใน Theme Configuration แล้วเปิด Google Custom Search แทน แต่หากเปิดไว้ทั้งสองอัน มันจะแสดง Search Box ของ Search module แทน แต่หากต้องการความสามารถมากกว่านี้ เช่น แสดงผลการค้นหาลงไปแทนที่ Search module นั้น แนะนำให้ใช้ Google Custom Search แทน