WordPress Widget คืออะไร?
Widget คือ "บล็อกเนื้อหาขนาดเล็ก" ที่คุณสามารถลาก-วางลงในพื้นที่ต่างๆ ของเว็บไซต์ WordPress ได้ทันที ไม่ว่าจะเป็น Sidebar (แถบด้านข้าง), Footer (ส่วนท้าย) หรือพื้นที่อื่นๆ ที่ Theme รองรับ โดยไม่ต้องแตะโค้ดแม้แต่บรรทัดเดียว
ตัวอย่าง Widget ที่ใช้งานได้ทันทีใน WordPress:
- Search — ช่องค้นหาบทความในเว็บ
- Recent Posts — แสดงบทความล่าสุด
- Categories — รายการหมวดหมู่บทความ
- Tag Cloud — กลุ่ม Tag ของเว็บ
- Text / HTML — เพิ่มข้อความหรือโค้ด HTML อิสระ
- Image — แสดงรูปภาพในแถบ Sidebar
- Custom HTML — ฝัง JavaScript หรือโค้ดแบนเนอร์โฆษณา
- Navigation Menu — แสดงเมนูนำทางที่กำหนดเอง
วิธีเข้าหน้า Widgets ใน WordPress
การจัดการ Widget ทำได้จาก WordPress Dashboard โดยตรง ทำตามขั้นตอนนี้:
- เข้า WordPress Admin เช่น
https://yoursite.com/wp-admin - ไปที่เมนู Appearance (รูปลักษณ์)
- คลิก Widgets
- จะเห็นหน้าจัดการ Widget แบบ Block Editor
หน้าจัดการ Widget จะแบ่งออกเป็น 2 ส่วน:
- ฝั่งซ้าย — Widget Area ทั้งหมดที่ Theme รองรับ (เช่น Sidebar, Footer)
- ฝั่งขวา — รายการ Widget ทั้งหมดที่ใช้ได้
วิธีเพิ่ม Widget เข้า Sidebar ทีละขั้น
หลังจากเปิดหน้า Appearance > Widgets แล้ว ทำตามขั้นตอนนี้เพื่อเพิ่ม Widget เข้า Sidebar:
- คลิกที่ Widget Area ที่ต้องการ เช่น Sidebar
- คลิกปุ่ม + (เพิ่มบล็อก) ใน Widget Area นั้น
- ค้นหาชื่อ Widget ที่ต้องการ เช่น "Search", "Recent Posts", "Text"
- คลิกที่ Widget เพื่อเพิ่มเข้าไป
- ปรับแต่งค่าตามต้องการ เช่น ใส่ Title หรือกำหนดจำนวนบทความ
- คลิก Update เพื่อบันทึก
หากต้องการ จัดลำดับ Widget ให้ลากที่จุด 6 จุด (⋮⋮) ด้านซ้ายของ Widget ขึ้น-ลงได้ตามต้องการ
ตั้งค่า Widget สำหรับ Footer แบบหลายคอลัมน์
Theme ส่วนใหญ่มี Footer Widget Area หลายช่อง เช่น "Footer Column 1", "Footer Column 2", "Footer Column 3" ซึ่งช่วยให้จัดหน้า Footer ได้สวยงาม ตัวอย่างการจัด Footer 3 คอลัมน์:
- Footer Column 1 — Widget "Text" ใส่ข้อมูลบริษัท โลโก้ หรือคำอธิบายสั้นๆ
- Footer Column 2 — Widget "Navigation Menu" ใส่ลิงก์สำคัญ
- Footer Column 3 — Widget "Recent Posts" แสดงบทความล่าสุด 5 รายการ
Widget ยอดนิยมที่ควรเพิ่มเข้าเว็บ
Widget ต่อไปนี้ช่วยเพิ่มประสิทธิภาพและ UX ของเว็บได้ทันที:
1. Search Widget
เพิ่มช่องค้นหาให้ผู้เยี่ยมชมหาบทความได้ง่าย เพิ่มเข้า Sidebar ตำแหน่งบนสุดเพื่อให้เห็นชัดเจน
2. Recent Posts Widget
แสดงบทความล่าสุด 5–10 รายการ ตั้งค่าได้ว่าจะแสดงวันที่หรือไม่ เหมาะกับ Blog หรือเว็บข่าว
3. Categories Widget
แสดงรายการหมวดหมู่บทความ ช่วยให้ผู้ใช้ navigate ไปยังหัวข้อที่สนใจได้รวดเร็ว แนะนำใช้แบบ Dropdown เพื่อประหยัดพื้นที่
4. Custom HTML Widget
ใช้ฝังโค้ดโฆษณา Google AdSense, Social Follow Button หรือ Banner โปรโมชั่น ตัวอย่างฝัง AdSense:
<!-- Google AdSense Sidebar Banner -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-XXXXXXXXXXXXXXXX"
data-ad-slot="XXXXXXXXXX"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
ca-pub-XXXX และ data-ad-slot ด้วยค่าจริงจาก Google AdSense ของคุณ5. Image Widget
ใช้แสดงแบนเนอร์โปรโมชั่น หรือรูปโลโก้พาร์ทเนอร์ใน Sidebar ตั้งค่า Alt Text เพื่อ SEO ด้วย
การใช้ Shortcode ใน Widget
หากคุณมี Plugin ที่สร้าง Shortcode เช่น Contact Form 7 หรือ WPForms คุณสามารถนำ Shortcode มาวางใน Widget "Shortcode" หรือ "Text" ได้เลย เช่น:
[contact-form-7 id="123" title="Contact Form"]
[wpforms id="456"]
[gallery ids="101,102,103" columns="3"]
วิธีใช้: เพิ่ม Widget ชื่อ Shortcode หรือ Text เข้า Sidebar แล้ววาง Shortcode ลงในช่องเนื้อหา คลิก Update
ตรวจสอบว่า Widget ทำงานถูกต้อง
หลังเพิ่ม Widget แล้ว ให้ตรวจสอบว่าแสดงผลถูกต้องด้วยวิธีนี้:
# 1. เปิดหน้าเว็บของคุณในแท็บ Incognito/Private
# 2. ตรวจว่า Widget แสดงใน Sidebar/Footer ถูกตำแหน่ง
# 3. ตรวจ Console ใน Browser DevTools (F12) หาข้อผิดพลาด JS
# 4. ใช้ Inspector คลิกขวา > Inspect ดู HTML ของ Widget Area:
# <aside id="secondary" class="widget-area">
# <section class="widget widget_search">...</section>
# </aside>
# 5. ตรวจสอบ Mobile View ใน DevTools (Ctrl+Shift+M)
# ว่า Widget ไม่ทับซ้อนหรือล้นหน้าจอ
แก้ปัญหาที่พบบ่อย
Error: "Widget Area ไม่แสดงใน Appearance > Widgets"
สาเหตุ: Theme ที่ใช้ไม่ได้ register Widget Area ไว้ วิธีแก้: เปลี่ยนไปใช้ Theme มาตรฐานเช่น Twenty Twenty-Four ชั่วคราวเพื่อทดสอบ หรือตรวจสอบกับผู้พัฒนา Theme ว่า register_sidebar() ถูกกำหนดหรือไม่
Error: "Widget เพิ่มแล้ว แต่ไม่แสดงบนหน้าเว็บ"
สาเหตุที่เป็นไปได้: (1) ลืมกด Update หลังเพิ่ม Widget (2) Plugin Cache ยังแสดงเวอร์ชั่นเก่า (3) Theme ไม่ได้วาง <?php dynamic_sidebar() ?> ในไฟล์ sidebar.php
Error: "Widget แสดงผิดตำแหน่ง หรือซ้อนทับกัน"
สาเหตุ: CSS ของ Theme หรือ Plugin ขัดแย้งกัน วิธีแก้: ใช้ Browser DevTools (F12) ตรวจ CSS ของ Widget Area แล้วเพิ่ม CSS แก้ไขใน Appearance > Customize > Additional CSS
Error: "Custom HTML Widget ใส่โค้ด JavaScript แต่ไม่ทำงาน"
WordPress กรอง JavaScript บางส่วนออกจาก Widget เพื่อความปลอดภัย วิธีแก้: ใช้ Plugin "Insert Headers and Footers" หรือ "Code Snippets" เพิ่ม JavaScript แทน หรือใช้ Appearance > Theme File Editor เพิ่มใน footer.php (ถ้าแก้ไขโดยตรงได้)
Error: "Widget หายไปหลังอัปเดต WordPress หรือเปลี่ยน Theme"
การเปลี่ยน Theme จะลบ Widget ที่ตั้งค่าทั้งหมด เพราะ Widget Area ของแต่ละ Theme แตกต่างกัน ควรจดบันทึก Widget ที่ตั้งค่าไว้ก่อนเปลี่ยน Theme หรือใช้ Plugin "Widget Importer & Exporter" สำรองข้อมูล Widget
คำถามที่พบบ่อย (FAQ)
Q: เพิ่ม Widget ได้กี่ตัวต่อ 1 Widget Area?
A: WordPress ไม่จำกัดจำนวน Widget ต่อ Widget Area แต่ถ้าเพิ่มมากเกินไปอาจทำให้หน้าเว็บดูรกและโหลดช้าลง แนะนำว่า Sidebar ควรมี Widget ไม่เกิน 5–7 ตัว และควรเป็น Widget ที่มีประโยชน์จริงๆ
Q: Widget กับ Block (Gutenberg) ต่างกันอย่างไร?
A: Block ใช้ในการสร้างเนื้อหาภายใน Post/Page ส่วน Widget ใช้ในพื้นที่ที่ Theme กำหนด (Sidebar, Footer) ซึ่งแสดงซ้ำในทุกหน้า WordPress 5.8+ อนุญาตให้ใช้ Block ใน Widget Area ได้ด้วย ทำให้ความสามารถใกล้เคียงกันมากขึ้น
Q: สามารถซ่อน Widget เฉพาะบางหน้าได้ไหม?
A: ด้วย WordPress มาตรฐานทำไม่ได้โดยตรง แต่ Plugin ฟรี "Widget Options" หรือ "Jetpack" (ฟีเจอร์ Widget Visibility) ช่วยให้ตั้งค่าได้ว่า Widget นั้นจะแสดงเฉพาะหน้า Post, Page, Category หรือ Archive ได้อย่างยืดหยุ่น