ข้ามไปเนื้อหาหลัก

WordPress 7.0 รองรับการสร้าง Block ด้วย PHP ล้วน

WordPress 7.0 เปิดตัวฟีเจอร์ใหม่ ให้ผู้พัฒนาสร้าง Block ได้โดยใช้ PHP เพียงอย่างเดียวผ่านแฟล็ก autoRegister แต่ยังมีข้อจำกัดด้านการโต้ตอบและข้อมูล

เรียบเรียงโดย AI
Inewgen
25 Aug 2026ที่มา: CSS-Tricks2 นาทีอ่าน (0 ครั้ง)
แชร์
WordPress 7.0 รองรับการสร้าง Block ด้วย PHP ล้วน

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • WordPress 7.0 เพิ่มฟีเจอร์สร้าง Block ด้วย PHP ล้วน ไม่ต้องใช้ JavaScript
  • ใช้แฟล็ก 'autoRegister' => true ในส่วน supports เพื่อให้ระบบสร้าง JS อัตโนมัติ
  • มีข้อจำกัดสำคัญคือไม่สามารถโต้ตอบกับเนื้อหาใน Block หรือแก้ไขแบบ In-place ได้
  • บล็อก PHP ล้วนดึงข้อมูลตรงจากฐานข้อมูล จึงอาจแสดงข้อมูลที่ไม่เป็นปัจจุบันหากยังไม่บันทึกโพสต์

เจ็ดปีครึ่งหลังจากระบบ Block เข้ามาสู่ WordPress Core ล่าสุดแพลตฟอร์มได้แนะนำวิธีการสร้าง Block รูปแบบใหม่โดยไม่ต้องพึ่งพา JavaScript อีกต่อไป ด้วย WordPress 7.0 ผู้พัฒนาสามารถลงทะเบียน Block ได้โดยใช้ภาษา PHP เพียงอย่างเดียว

แนวทางใหม่นี้ช่วยลดความซับซ้อนในการพัฒนา จากเดิมที่ต้องลงทะเบียน Block สองครั้งทั้งใน PHP และ JavaScript โดยในเวอร์ชันใหม่นี้มีการเพิ่มแฟล็กสำคัญคือ 'autoRegister' => true ในส่วน supports ซึ่งจะทำให้ WordPress ทำหน้าที่สร้างโค้ด JavaScript ที่จำเป็นให้โดยอัตโนมัติ ทั้งการลงทะเบียนฝั่งไคลเอนต์และตัวอย่างในหน้าจอแก้ไขงาน

programming code editor software screen

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

นอกจากการลงทะเบียนแล้ว การกำหนดแอตทริบิวต์เพื่ออนุญาตให้ผู้ใช้ปรับแต่งรูปลักษณ์และพฤติกรรมของ Block ก็ทำได้ง่ายดายเพียงแค่ประกาศแอตทริบิวต์ในขั้นตอนการลงทะเบียน Block โดยไม่ต้องสร้างส่วนควบคุมในอินเทอร์เฟซตัวแก้ไขแบบเดิม ทำให้ผู้พัฒนาหลายคนนึกถึงยุคสมัยที่การเขียนโปรแกรมมีความเรียบง่ายกว่านี้

การเปลี่ยนแปลงใน WordPress 7.0 นี้สะท้อนถึงความพยายามในการลดอุปสรรคสำหรับนักพัฒนาสาย PHP ดั้งเดิมที่อาจไม่เชี่ยวชาญ JavaScript แต่อย่างไรก็ตาม สถาปัตยกรรมการทำงานเบื้องหลังที่พึ่งพา REST API และการเรนเดอร์ผ่าน PHP ล้วน ก็แลกมาด้วยข้อแลกเปลี่ยนด้านประสิทธิภาพและความยืดหยุ่นในการใช้งานจริง ซึ่งผู้พัฒนาจำเป็นต้องชั่งน้ำหนักให้ดีก่อนเลือกนำไปใช้ในโปรเจกต์จริง

อย่างไรก็ตาม แนวทาง PHP-Only นี้มีข้อจำกัดสำคัญที่ผู้พัฒนาควรทำความเข้าใจให้ถ่องแท้:

  • ไม่มีการโต้ตอบกับเนื้อหาใน Block: ผู้ใช้ถูกจำกัดให้ใช้งานเฉพาะส่วนควบคุมในแถบ Sidebar เท่านั้น ไม่สามารถแก้ไขข้อความแบบ In-place หรืออัปโหลดรูปภาพภายในตัว Block ได้
  • ไม่สามารถแนบ JavaScript กับ Markup ได้: เนื่องจาก Markup จะถูกดึงข้อมูลแบบ Asynchronous และถูกแทนที่ในการเรนเดอร์ใหม่ทุกครั้ง ทำให้การดึงข้อมูลโพสต์ที่เกี่ยวข้องมาแสดงในรูปแบบสไลเดอร์ไม่สามารถทำงานในหน้าจอแก้ไขได้ถูกต้อง
  • ไม่เข้าถึงข้อมูลล่าสุด: บล็อกที่เขียนด้วย PHP ล้วนจะข้ามการเก็บข้อมูลบนฝั่งไคลเอนต์และดึงข้อมูลตรงจากฐานข้อมูล ทำให้หากมีการเปลี่ยนชื่อเรื่องในตัวแก้ไข Block จะยังคงแสดงค่าเก่าจนกว่าจะบันทึกโพสต์และรีโหลดหน้าเว็บใหม่
  • ไม่เข้าถึงบริบทโพสต์ปัจจุบัน: เนื่องจาก REST API ทำงานแบบไร้สถานะ (Stateless) และตัวคอมโพเนนต์ตัวแก้ไขยังไม่ส่งผ่านค่า Post ID ทำให้ฟังก์ชันเทมเพลตแท็กหรือ get_post_meta() ไม่สามารถทำงานในตัวอย่างหน้าจอแก้ไขได้อย่างถูกต้อง

ที่มา: CSS-Tricks

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้