Widget Logic Plugin สำหรับกำหนดเงื่อนไขการแสดงผลของ Widget : WordPress

วันก่อนมีน้องมาถามว่า มี Plugin จะทำยังไงให้ Widget แสดงผลเฉพาะหน้าที่เราต้องการได้มั้ย ยังไม่ทันได้ตอบ มันก็หาเจอไปแล้ว 555

พอมาวันนี้ไอ้เราก็จำไม่ได้ว่า ที่มันหาเจอเป็น Plugin ตัวไหน ก็เลยเป็นสาเหตุให้ลองมาหาเองว่ามี Plugin ตัวไหนที่ถูกจริตเรา แล้วใช้กำหนดเงื่อนไขการแสดงผลในหน้าที่เราต้องการได้มั้ย ก็มาจบที่ตัวนี้ละ Widget Logic

Widget Logic

หลังจากติดตั้ง Plugin ตัวนี้แล้ว ไม่ต้องไปมองหาว่ามันจะไปอยู่ที่เมนูไหน เพราะมันจะไปอยู่ที่หน้าจัดการ Widget ที่เมนู Appearance => Widgets ลองดูตัวอย่างตามรูปละกัน

Pic1
ส่วนของ Widget Logic ที่เพิ่มขึ้นมา

หลายคนอาจจะงงว่า แล้วเราจะใส่อะไรลงไปช่อง Widget Logic ที่เพิ่มขึ้นมา ให้ไปดูที่ Conditional Tags ของ WordPress ได้เลยครับ

คราวนี้มาลองใส่ไปว่า is_home() ซึ่งถ้าใน Reading Settings ของเราไม่ได้ตั้งค่าอะไร มันก็คือหน้าแรกนั่นละ แต่ถ้าเราไปเลือกหน้าไหนในส่วนของ Front Page หน้าแรกของเราต้องใช้เป็น is_front_page() แทนนะครับ

Pic2
อันนี้ตั้งชื่อ Title ให้เวลาสังเกตผล จะได้ดูง่ายๆ

ซึ่งในกรณีนี้ ถ้าเราไปที่หน้าแรก จะต้องมี Widget ที่มีหัวข้อ Widget Logic ปรากฎอยู่

Pic3
หน้าแรกของเรามี Widget หัวข้อ Widget Logic อยู่ด้านขวา

คราวนี้ลองเข้าไปที่หน้า Archive ของเว็บบ้าง จะเห็นว่า Widget ที่มีหัวข้อ Widget Logic หายไป

Pic4
ในหน้า Archive จะเห็นว่า Widget หัวข้อ Widget Logic หายไป

ซึ่งเราก็สามารถปรับเงื่อนไขต่างๆ ได้แล้วแต่เราต้องการ จะใช้ && หรือ || หรือ ! ก็แล้วแต่เงื่อนไขที่จะให้แสดงผลของแต่ละคนเลย

Parallax Scrolling Scripts

วิธีนำเสนอเว็บของเราให้น่าสนใจมากขึ้น 1 ในนั้นคงเป็นการใส่ลูกเล่นให้กับเว็บของเรา และตอนนี้ที่เห็นบ่อยมากขึ้นก็คือ Parallax Scrolling ถ้างงมันคืออะไร ลองดูตัวอย่างไปเรื่อย ๆ น่าจะเข้าใจได้นะครับ ซึ่งผมได้รวบรวม Script และ Plugin ที่ใช้ทำ Parallax ให้เราไว้

ลองนำไปประยุกต์ใช้งานกับเว็บของเราดูนะครับ

[WordPress Plugin] เริ่มหัดสร้าง Plugin สำหรับ WordPress กัน

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

ทำไมถึงต้องสร้าง Plugin

บางครั้งเราก็ทำการปรับแต่ง code โดยตรง ซึ่งจะมีปัญหาเมื่อ WordPress มีการอัพเดต เพราะ code ที่เราเขียนไว้ก็จะถูกทับโดย code ของตัวอัพเดตจาก WordPress ซึ่งแก้ไขได้โดย

  1. อย่าไปอัพเดต WordPress มันเลย
  2. อัพเดตตามปรกตินั่นละ แต่มาเขียนใหม่อีกที
  3. สร้าง Plugin เพื่อที่เมื่ออัพเดต code ที่เราปรับแต่ง WordPress ไปก็ยังอยู่

ที่พูดถึงไม่เฉพาะตัว WordPress อย่างเดียวนะครับ ยังรวมไปถึง Theme ของ WordPress ด้วย ในการแก้ functions.php เมื่อเวลา Theme ตัวนั้นมีการอัพเดต สิ่งที่เราเขียนเพิ่มเติมลงไป ก็จะถูกทับด้วยไฟล์ที่อัพเดตมา

ทำให้ WordPress เห็น Plugin ที่เราสร้างขึ้น

ก่อนจะสร้าง Plugin มาลองทำให้ WordPress เห็น Plugin ที่เราสร้างขึ้นมาก่อน โดยผลลัพธ์จะเป็นแบบนี้นะครับ

[Wordpress Plugin] เริ่มหัดสร้าง Plugin สำหรับ WordPress กัน [1]

ไปที่ path /wp-content/plugins/ นะครับ แล้วสร้าง folder Plugin ของเรา ผมตั้งชื่อ folder เป็น rabbitinblack แล้วสร้างไฟล์ขึ้นมา ชื่อ rabbitinblack.php

สังเกตจาก Plugin ที่ลง ๆ ไว้ในเว็บตัวเอง ทุกอันชื่อ folder กับชื่อไฟล์ php ที่ใช้ระบุรายละเอียด Plugin จะมีชื่อเหมือนกัน แต่ผมลองตั้งชื่อต่างกัน ก็ได้ผลเหมือนกันนะ แต่ทำตามสากลเค้าไปดีกว่า

มาถึงส่วนที่จะทำให้ WordPress เห็น Plugin ของเราแล้วครับ คือการใส่ code นี้เข้าไป

[php]
<?php
/*
Plugin Name: Test Plugin
Plugin URI: rabbitinblack.com/test
Description: ทดสอบเขียน Plugin WordPress
Author: Rabbitinblack
Author URI: http://www.rabbitinblack.com/
Version: 1.0
*/
?>
[/php]

และในหน้า Plugin ของเราก็จะปรากฎชื่อ Plugin ที่เราสร้างขึ้นมา

[Wordpress Plugin] เริ่มหัดสร้าง Plugin สำหรับ WordPress กัน [1]

ทดลองสร้าง Plugin

คราวนี้เรามาทดลองสร้าง Plugin กันดูนะครับ ผมจะลองสร้าง Plugin ที่จะใส่คำว่า Title : ไว้ด้านหน้าของหัวข้อทุกตัวนะครับ code ก็จะประมาณนี้

[php]
<?php
/*
Plugin Name: Test Plugin
Plugin URI: rabbitinblack.com/test
Description: ทดสอบเขียน Plugin WordPress
Author: Rabbitinblack
Author URI: http://www.rabbitinblack.com/
Version: 1.0
*/

function add_title_word($text) {
return ‘Title : ‘.$text;
}

add_filter(‘the_title’,’add_title_word’);

?>
[/php]

ซึ่งผลลัพธ์ที่ได้ ก็เป็นแบบนี้ครับ

หัวข้อนี้คงจบแค่นี้ ไว้ผมหัดทำเพิ่มเติมได้ขนาดไหนแล้ว จะมาเขียนหัีวข้อต่อ ๆ ไปนะครับ ^^

[Plugin WordPress] ทำให้ PHP ใช้ได้ใน Posts และ Pages

บางครั้งในแต่ละหน้าของ Post หรือ Page รวมถึงในส่วนของ Widget ของเรานั้น เราก็อยากจะแทรก code PHP โดยที่เราไม่ต้องไปเขียนแก้ที่ตัวไฟล์ อยากจะใส่ในช่องที่ให้ edit content มากกว่า ลอง Plugin ตัวนี้ครับ

Exec-PHP

โดย Exec-PHP นั้นเมื่อติดตั้งแล้วจะอยู่ในเมนูหัวข้อ Settings นะครับ

[Plugin WordPress] ทำให้ PHP ใช้ได้ใน Posts และ Pages [1]

ตัว Exec-PHP ไม่ได้มีอะไรให้เราปรับแต่งมากมาย

[Plugin WordPress] ทำให้ PHP ใช้ได้ใน Posts และ Pages [2]

เรามาลองเขียน Post ขึ้นมาทดสอบการใช้งานเบื้องต้นนะครับ

[Plugin WordPress] ทำให้ PHP ใช้ได้ใน Posts และ Pages [3]

ผลลัพธ์ที่ได้ เหมือนที่เราเขียน code PHP ลงในไฟล์ตามปรกติ

[Plugin WordPress] ทำให้ PHP ใช้ได้ใน Posts และ Pages [4]

แต่ในหน้าที่เราเขียน Post นั้นคงจะเห็นกล่องข้อความเตือนสีเหลืองด้านบนนะครับ ถ้าเราต้องการปิด ไม่ให้มันแสดงผล ให้เข้าไปที่ส่วนของเมนู Users ในหัวข้อ Your Profile นะครับ

[Plugin WordPress] ทำให้ PHP ใช้ได้ใน Posts และ Pages [5]

ที่หัวข้อด้านล่างจะมีหัวข้อแบบนี้ครับ

[Plugin WordPress] ทำให้ PHP ใช้ได้ใน Posts และ Pages [6]

ให้ติ๊กเลือกเพื่อที่จะปิดไม่ให้มันมีกล่องสีเหลืองเตือนทุกครั้ง

Plugin : Exec-PHP

[WordPress] Plugin สำหรับเปลี่ยน Theme ไปใช้ HTML5 Boilerplate

ครั้งที่แล้ว ผมได้แนะนำ Template สำหรับทำเว็บ HTML5 ไว้ นั่นก็คือ HTML5 Boilerplate ทีนี้ถ้าจะให้มาทำ Theme กันใหม่ ก็จะลำบากไปหน่อย ถ้าแบบนี้ลองใช้ Plugin ตัวนี้เลยดีกว่า มันจะเปลี่ยน Theme ของเรา ให้เป็น HTML5 Boilerplate ให้เอง

WordPress Plugin : HTML5 Boilerplate

โดยหลังจากติดตั้งเสร็จแล้ว ตัว Plugin จะอยู่ในหัวข้อ Settings หน้าตาของ Plugin จะมีลักษณะแบบนี้

[Wordpress] Plugin เปลี่ยน Theme ให้เป็น HTML5 Boilerplate [1]

เราสามารถจะเลือกได้ ว่าจะเปลี่ยน Theme ของเราในส่วนไหนบ้าง และหลังจากที่เลือกแล้ว Code ของ Theme เราจะเปลี่ยนไป อย่างเช่น

[Wordpress] Plugin เปลี่ยน Theme ให้เป็น HTML5 Boilerplate [2]

ก็จะเปลี่ยนไปเป็น

[Wordpress] Plugin เปลี่ยน Theme ให้เป็น HTML5 Boilerplate [3]

ถ้าจะลองใช้งานดู ก็ไปโหลด Plugin กันเลยครับ