WordPress Widgets คืออะไร และตั้งค่า Sidebar-Footer อย่างไร

คู่มือฉบับมือใหม่สำหรับการเพิ่ม จัดการ และปรับแต่ง Widget บน WordPress โดยไม่ต้องเขียนโค้ด

WordPress Widgets คืออะไร และตั้งค่า Sidebar-Footer อย่างไร

WordPress Widget คืออะไร?

Widget คือ "บล็อกเนื้อหาขนาดเล็ก" ที่คุณสามารถลาก-วางลงในพื้นที่ต่างๆ ของเว็บไซต์ WordPress ได้ทันที ไม่ว่าจะเป็น Sidebar (แถบด้านข้าง), Footer (ส่วนท้าย) หรือพื้นที่อื่นๆ ที่ Theme รองรับ โดยไม่ต้องแตะโค้ดแม้แต่บรรทัดเดียว

ตัวอย่าง Widget ที่ใช้งานได้ทันทีใน WordPress:

💡 รู้หรือไม่: Widget ที่มีให้ใช้งานขึ้นอยู่กับ Theme ที่ติดตั้ง บาง Theme มีพื้นที่ Widget มากกว่า เช่น Sidebar ซ้าย-ขวา, Header, Footer หลายคอลัมน์

วิธีเข้าหน้า Widgets ใน WordPress

การจัดการ Widget ทำได้จาก WordPress Dashboard โดยตรง ทำตามขั้นตอนนี้:

  1. เข้า WordPress Admin เช่น https://yoursite.com/wp-admin
  2. ไปที่เมนู Appearance (รูปลักษณ์)
  3. คลิก Widgets
  4. จะเห็นหน้าจัดการ Widget แบบ Block Editor

หน้าจัดการ Widget จะแบ่งออกเป็น 2 ส่วน:

หมายเหตุ: WordPress 5.8 ขึ้นไปเปลี่ยนหน้า Widget มาใช้ Block Editor ถ้าต้องการ Widget แบบเก่า ให้ติดตั้ง Plugin "Classic Widgets" จาก WordPress.org

วิธีเพิ่ม Widget เข้า Sidebar ทีละขั้น

หลังจากเปิดหน้า Appearance > Widgets แล้ว ทำตามขั้นตอนนี้เพื่อเพิ่ม Widget เข้า Sidebar:

  1. คลิกที่ Widget Area ที่ต้องการ เช่น Sidebar
  2. คลิกปุ่ม + (เพิ่มบล็อก) ใน Widget Area นั้น
  3. ค้นหาชื่อ Widget ที่ต้องการ เช่น "Search", "Recent Posts", "Text"
  4. คลิกที่ Widget เพื่อเพิ่มเข้าไป
  5. ปรับแต่งค่าตามต้องการ เช่น ใส่ Title หรือกำหนดจำนวนบทความ
  6. คลิก Update เพื่อบันทึก

หากต้องการ จัดลำดับ Widget ให้ลากที่จุด 6 จุด (⋮⋮) ด้านซ้ายของ Widget ขึ้น-ลงได้ตามต้องการ

ตั้งค่า Widget สำหรับ Footer แบบหลายคอลัมน์

Theme ส่วนใหญ่มี Footer Widget Area หลายช่อง เช่น "Footer Column 1", "Footer Column 2", "Footer Column 3" ซึ่งช่วยให้จัดหน้า Footer ได้สวยงาม ตัวอย่างการจัด Footer 3 คอลัมน์:

💡 Tip: ถ้า Theme ไม่มี Footer Widget Area ให้เช็คที่ Appearance > Customize > Widgets หรือลองติดตั้ง Theme ใหม่ที่รองรับ Footer Widget เช่น Astra, OceanWP, GeneratePress

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>
💡 Tip: ต้องแทนค่า 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 ไม่ทับซ้อนหรือล้นหน้าจอ
Tip: ถ้า Widget ไม่แสดง ให้ลอง Clear Cache ก่อน (ถ้าใช้ Plugin Cache เช่น WP Rocket หรือ LiteSpeed Cache) แล้วโหลดหน้าใหม่

แก้ปัญหาที่พบบ่อย

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 ได้อย่างยืดหยุ่น