How to Use Gutenberg Without Breaking Your Website Using Overrides Pattern

|
3 mins reading time

ปัจจุบัน Gutenberg ได้พัฒนาไปไกลจนสามารถรองรับ Full Site Editing (FSE) ได้อย่างสมบูรณ์ ผู้ใช้งานสามารถแก้ไขส่วนต่าง ๆ ของเว็บไซต์ได้ตั้งแต่ Header, Footer ไปจนถึงส่วนประกอบอื่น ๆ บนหน้าเว็บ โดยไม่ต้องพึ่งธีมหรือโค้ดเพิ่มเติมมากนัก นอกจากนี้ บล็อกต่าง ๆ ยังมีคุณสมบัติปรับแต่งที่หลากหลาย ช่วยให้การออกแบบยืดหยุ่น

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

เพื่อตอบโจทย์ปัญหานี้ WordPress ตั้งแต่เวอร์ชัน 6.6 ขึ้นไป ได้เพิ่มฟีเจอร์ใหม่ที่เรียกว่า Overrides Pattern ซึ่งช่วยป้องกันการแก้ไขที่อาจส่งผลต่อการทำงานของส่วนประกอบต่าง ๆ 

Pattern คืออะไร ?

Pattern ใน WordPress คือชุดของ Blocks หลาย ๆ ตัวที่ถูกรวมเข้าด้วยกันจนเกิดเป็นกลุ่มหรือโครงสร้างสำเร็จรูป เปรียบเสมือน เทมเพลตขนาดย่อม ที่ออกแบบมาให้พร้อมใช้เมื่อใช้ Patterns หลาย ๆ ชุดร่วมกัน จะช่วยให้การสร้างหน้าเว็บไซต์สมบูรณ์และรวดเร็วยิ่งขึ้น และยังช่วยลดการทำงานที่ซ้ำซ้อนอีกด้วย มาดูวิธีการสร้าง Pattern ใน Gutenburg กัน

วิธีสร้าง Pattern
ขั้นตอนสร้าง Pattern

Sync Pattern คืออะไร ?

Sync Pattern ใน WordPress คือรูปแบบหนึ่งของ Pattern ที่มีคุณสมบัติในการซิงค์หรืออัปเดตข้อมูลแบบเรียลไทม์ หากมีการแก้ไขหรือปรับแต่งเนื้อหาใน Sync Pattern ครั้งหนึ่ง ทุกที่ที่ใช้งาน Pattern เดียวกันจะอัปเดตตามไปด้วยทันที

แต่ในบางครั้งเราต้องการใช้ Pattern โครงสร้างเดิม แต่ต้องการแก้ไขข้อมูลข้างในเฉพาะบางส่วนโดยไม่อยากให้ไปกระทบตัวอื่นๆ ที่ใช้ร่วมกันด้วย WordPress จึงออกความสามารถที่เรียกว่า Overrides Pattern ขึ้นมา

Overrides Pattern คืออะไร ใช้ยังไง ?

คือฟีเจอร์ที่ช่วยให้เราปรับแต่ง ข้อมูลด้านใน Pattern โดยไม่ให้กระทบโครงสร้าง ( Layout ) เดิมที่ทำเอาไว้ โดยเราสามารถ เข้าไปยัง Pattern ผ่าน Apperance > Editor > Patterns หรือจะคลิกจาก Pattern ในหน้านั้นๆ โดยตรง โดยเลือก Edit Original ก็สามารถเข้าถึง Pattern นั้นๆได้

คลิกที่ Pattern เพื่อแก้ไข Original
แก้ไขผ่านทาง Appearance

การใช้งาน Overrides Pattern ให้คลิกเลือก Block ที่เราต้องการ Overrides และทำการเปิดให้แก้ไขข้อมูลที่ปุ่ม “Enable overrides” จากนั้นตั้งชื่อ แล้วก็ทำการกดปุ่ม “Save”

เปิดทำงาน overrides
ตั้งชื่อสำหรับ overrides
รายชื่อบล็อคที่เราได้ทำการ overrides

โดยในตัวอย่างจะให้แก้ ชื่อหัวข้อ, รายละเอียด และปุ่มเท่านั้น สังเกตที่ด้านขวาเมื่อเราคลิกที่ Pattern จะแสดงช่องฟิลด์ที่เราทำการแก้ไขได้ โดยให้เราคลิกไปยัง Block ที่เราต้องการแก้ไขข้อมูล จะสังเกตได้ว่าเราสามารถแก้ไข ข้อมูลของตัวนั้นเท่านั้น แต่จะไม่สามารถยุ่งกับโครงสร้างอื่นๆ หรือการขยับ ปรับย้ายที่ ที่เราไม่ได้ทำการ Overrides ไว้ ทำให้เป็นการกำหนดขอบเขต ในการแก้ไขให้ผู้ใช้ได้เป็นอย่างดี

ซึ่งถ้าให้เปรียบเทียบกับการพัฒนาแบบเดิม คือการเจาะช่อง และใช้ Custom Field เพื่อให้ User กรอกเฉพาะข้อมูล โดยไม่ไปแปะแตะต้องโครงสร้างใดๆ แต่อันนี้ถูกพัฒนาขึ้นมาเป็นรูปแบบ Block และสามารถใช้ซ้ำได้ในทุกที่ และยืดหยุ่นกว่ามาก

Designil PDPA Banner Thai Woo AIO Banner

author - aum watcharapon
Aum Watcharapon
👨🏻‍💻 WordPress Expertiser

Subscribe to newsletter

doaction will send notifications when new articles are available on the website, and you can unsubscribe at any time.

More Articles

Why is Meta Box a recommended plugin for managing fields in WordPress?

Recently, the WordPress community has been shaken by a major conflict between WordPress and WP Engine, which has left many surprised and questioning the direction of these two giants. This conflict has not only impacted WP Engine’s hosting services but has also extended to the blocking of related ACF plugins and their ban from the WordPress.org directory. This means users within the WP Engine ecosystem may no longer have access to updates or support from WordPress. One promising alternative is the Meta Box plugin, which offers flexible and efficient field management. In this article, we’ll introduce you to Meta Box, explore its features, and explain why it has become a popular topic of discussion recently. Differences Between ACF and Meta Box The ACF (Advanced Custom Fields) plugin, in its pro version, comes with a wide range of basic capabilities, such as managing Options Pages, fields, and Post Types […]

Read more

If you have any questions or need advice about WordPress, feel free to ask.

Office

  • © do action co., ltd. 2024
    66 Soi Petchkasem 98/1, Petchkasem Road,
    Bangkhae Nuea, Bangkhae,
    Bangkok, Thailand
    10160
PDPA Icon

Our website uses cookies to enhance your user experience.

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save