ทีมพัฒนา Gutenberg ยืนยันว่า Meta Box API จะไม่ถูกเลิกใช้อย่างเป็นทางการ
เผยแพร่แล้ว: 2017-08-09
การอภิปรายเกี่ยวกับวิธีที่ Gutenberg จะจัดการกับเมตาบ็อกซ์ที่ร้อนแรงในช่วงสุดสัปดาห์หลังจากผู้เข้าร่วมแสดงความคิดเห็นเกี่ยวกับปัญหา GitHub ด้วยความกังวลเกี่ยวกับการสนับสนุนเมตาบ็อกซ์ที่ถูกลบออกจากเหตุการณ์สำคัญล่าสุด
“ฉันเห็นว่าปัญหาสำคัญนี้ถูกลบออกจากเหตุการณ์สำคัญใดๆ แล้ว” @steveangstrom กล่าว “มันถูกลดลำดับความสำคัญอีกครั้งในขณะที่เสียงระฆังและเสียงนกหวีดสำหรับการแก้ไขบล็อกได้รับงานมากมายและเพิ่มลงในรุ่นเบต้า สิ่งนี้น่ากังวลอย่างมากสำหรับอนาคตของ WordPress ในฐานะ CMS”
James Nylen หนึ่งในหัวหน้านักพัฒนาของโปรเจ็กต์นี้ ให้ความมั่นใจกับผู้ติดตามในหัวข้อที่ว่าทีม Gutenberg ไม่ได้ลืมเกี่ยวกับประเด็นนี้ แต่เป็น “ปัญหาที่ซับซ้อนอย่างยิ่งที่เราเพิ่งเริ่มพิจารณา พร้อมกับหลายๆ คน สิ่งสำคัญอื่น ๆ อีกมากมายในการทำให้บรรณาธิการทำงานได้ดี” เขายังขอความช่วยเหลือจากชุมชนในการวางแผนและทดสอบการใช้งานเพื่อรองรับเมตาบ็อกซ์
การตอบสนองนี้ทำให้หลายสิ่งไม่ชัดเจน ผู้เข้าร่วมในการอภิปราย ซึ่งหลายคนเป็นนักพัฒนากังวลเกี่ยวกับความเป็นไปได้ที่จะต้องเขียนเมตาบ็อกซ์ใหม่ทั้งหมดเป็นส่วนประกอบ React กำลังสงสัยว่าทำไมเมต้าบ็อกซ์ไม่สามารถทำงานร่วมกับตัวแก้ไข Gutenberg ใหม่และทำไมทีมจึงเลือกที่จะรวมเมต้าบ็อกซ์ใน ขอบเขตของโครงการ
“เป็นไปได้ไหมที่จะแทนที่ตัวแก้ไขโพสต์ TinyMCE ที่มีอยู่ด้วย Gutenberg ในขณะที่ออกจากส่วนต่อประสานที่เหลือ รวมถึงเมตาบ็อกซ์และ hooks ที่มีอยู่โดยไม่เปลี่ยนแปลง” เควิน ฮอฟแมนถาม เมื่อ Nylen ชี้แจงว่า Gutenberg ตามที่เขียนไว้ในวันนี้ ตั้งใจให้เป็นบรรณาธิการ post_content Hoffman ได้สรุปข้อกังวลที่นักพัฒนาหลายคนได้แสดงออกมา:
หาก Gutenberg ตั้งใจให้เป็นโปรแกรมแก้ไข
post_contentจริงๆ ก็ควรปล่อยเมต้าบ็อกซ์ไว้ตามลำพัง เนื่องจากไม่เกี่ยวข้องกับpost_contentนอกจากนี้ ความต้องการ API เพื่อแปลเมตาบ็อกซ์ PHP เป็นเมตาบ็อกซ์ React นั้นเป็นปัญหาที่เกิดขึ้นเอง ไม่จำเป็นต้องเป็นปัญหา แต่กลายเป็นปัญหาไปแล้ว เนื่องจากมีการตัดสินใจว่าการเขียนโปรแกรมแก้ไข
post_contentใหม่ควรเปลี่ยนวิธีการทำงานของเมตาบ็อกซ์โดยสิ้นเชิงคุณได้สรุปความท้าทายอันยิ่งใหญ่ในการเขียน API ดังกล่าวใน #2251 การแปลเมตาบ็อกซ์ PHP เป็น React สำหรับโซลูชันฟิลด์ที่กำหนดเองยอดนิยมเช่น ACF นั้นท้าทายพอ นับประสาที่พยายามทำเช่นนั้นสำหรับการนำเมตาบ็อกซ์ทั้งหมดที่มีอยู่ไปใช้ในปัจจุบันไม่ว่าจะเป็นที่นิยมหรือไม่ก็ตาม มันไม่ปรับขนาด
เนื่องจากผู้ร่วมให้ข้อมูลของ Gutenberg แชร์ว่าพวกเขาเพิ่งเริ่มตรวจสอบปัญหา meta box ตอนนี้ก็ชัดเจนแล้วว่าทำไมจึงไม่มีแผนงานสำหรับวิธีที่โปรเจ็กต์จะจัดการกับเมตาบ็อกซ์ PHP “ดั้งเดิม” ในเดือนกรกฎาคม Nylen กล่าวว่า "ถ้าฉันต้องเดาว่าเราจะจบลงที่นี่ที่ไหน: เมตาบ็อกซ์ปัจจุบันจะถูกย้ายไปยังพื้นที่ "ดั้งเดิม" และเราจะจัดเตรียม API เอกสารและตัวอย่างสำหรับการลงทะเบียน metabox-block 'รูปแบบใหม่' -ของต่างๆ”
นักพัฒนาปลั๊กอินที่จัดการไลบรารีเมตาบ็อกซ์ เอเจนซี่ และฝ่ายที่เกี่ยวข้องอื่น ๆ กำลังติดตามตั๋วเพื่อค้นหาวิธีวางแผนสำหรับ WordPress 5.0 ซึ่งได้รับการกำหนดเป้าหมายเป็นการเปิดตัว Gutenberg Andrey Savchenko ถามว่า WordPress วางแผนที่จะเลิกใช้ meta box API อย่างเป็นทางการหรือไม่ ซึ่งในที่สุดก็ได้คำตอบที่ชัดเจนจากทีมงาน Matias Ventura ได้ตอบกลับ
“ WordPress ตั้งใจที่จะเลิกใช้ Metabox API อย่างเป็นทางการหรือไม่”
ไม่.คำถามที่ยังไม่ได้รับคำตอบทั้งหมดคือเมตาบ็อกซ์ทำงานอย่างไรในบริบทของตัวแก้ไข Gutenberg พวกเขาควรจะยังคงเหมือนเดิมหรือวิวัฒนาการ? เราจะก้าวไปสู่เป้าหมายการออกแบบโดยมีการหยุดชะงักน้อยที่สุดได้อย่างไร
ปัญหานี้เกิดขึ้นอย่างต่อเนื่องไม่ใช่เพราะขาดความปรารถนา แต่ขาดทรัพยากร จุดสนใจหลักของโครงการนี้คือการนำเสนออินเทอร์เฟซการแก้ไขเนื้อหาที่หลากหลายซึ่งปรับให้เหมาะสมสำหรับการจัดการเนื้อหาผู้ใช้โดยตรงผ่านแนวคิดของการบล็อก (เมื่อใช้ meta-boxes อย่างกว้างขวางสำหรับโปรเจ็กต์ต่างๆ ฉันเชื่อว่าบล็อคสามารถนำเสนอขั้นตอนที่ดีกว่าสำหรับความต้องการเหล่านั้นในขณะที่ให้ประสบการณ์การใช้งานที่ดีขึ้น)”
Ventura ระบุตัวเลือกต่างๆ ที่ทีมได้พิจารณาสำหรับการจัดการเมตาบ็อกซ์และขอความช่วยเหลือจากชุมชนเพื่อสร้างโซลูชันที่ดีที่สุด:
- หากเราตรวจพบว่า meta-box ลงทะเบียนแล้ว เราสามารถย้อนกลับไปใช้อินเทอร์เฟซเก่าได้ ไม่มีอะไรเปลี่ยนแปลง
- เราสามารถแบ่งการแก้ไขเนื้อหาและปรับเปลี่ยนข้อมูลเมตาเป็นสองหน้าจอหรือขั้นตอน
- เราสามารถลองดูว่าเป็นไปได้เพียงใดในการแสดงผลเหล่านี้ตามที่เป็นอยู่ (PHP) ใต้เนื้อหา: #2251
- ธีม/ปลั๊กอิน/CPT สามารถยกเลิกการลงทะเบียนอินเทอร์เฟซใหม่ได้ตามต้องการ
- รายการต่าง ๆ ที่อาศัยเมตาบ็อกซ์สามารถแปลงเป็นบล็อกสำหรับ UI ได้ (ยังคงจัดเก็บข้อมูลแยกต่างหาก)
- เราสามารถใช้การขยายเมตาบ็อกซ์ตาม API เช่น Fields API
เมื่อกดเพื่อตอบคำถามว่าเหตุใดกล่องเมตาจึงถูกรวมไว้ในบริบทของตัวแก้ไขใหม่ Joen Asmussen หัวหน้าฝ่ายออกแบบของ Gutenberg ได้ชี้แจงว่าทีมตัดสินใจรวมเมตาบ็อกซ์ไว้ในขอบเขตของโปรเจ็กต์อย่างไร:
Gutenberg เริ่มต้นด้วยกล่องบรรณาธิการ เป้าหมายของกำหนดการคือการรวมอินเทอร์เฟซที่แตกต่างกันหลายอินเทอร์เฟซภายใต้อินเทอร์เฟซบล็อกแบบรวมเดียว เห็นได้ชัดว่าเพื่อให้เราสร้างประสบการณ์ที่น่าสนใจเกี่ยวกับอินเทอร์เฟซบล็อกแบบรวมศูนย์นี้ เราต้องพิจารณาขั้นตอนการเขียนทั้งหมด รวมถึงการตั้งค่าและการเผยแพร่
หากจุดแข็งของ WordPress คือการทำให้ทุกคนสร้างบทความที่หลากหลายได้ง่าย เราไม่สามารถออกแบบเฉพาะสำหรับพวกเราที่รู้วิธีใช้ตัวแก้ไขอยู่แล้ว เราต้องพิจารณาผู้ใช้ที่ไม่เคยใช้ WordPress มาก่อน และสิ่งที่พวกเขาคาดหวังจากอินเทอร์เฟซการเผยแพร่ที่ทันสมัย มิฉะนั้น เราจะเพิ่มภาระการเรียนรู้ให้กับอินเทอร์เฟซที่หนักอยู่แล้ว
คำถามที่ว่าเมตาบ็อกซ์จะพอดีกับบริบทของตัวแก้ไข Gutenberg อย่างไรยังคงเปิดอยู่ ผู้เข้าร่วมในการอภิปรายต่างกระตือรือร้นที่จะให้คำถามนี้ได้รับคำตอบเนื่องจากความเข้ากันได้แบบย้อนหลัง และยังส่งผลต่อการตัดสินใจอย่างต่อเนื่องเกี่ยวกับการพัฒนา Gutenberg และการออกแบบหน้าจอ
“ฉันเข้าใจดีว่าได้ดำเนินการไปมากเพียงใดในแนวทางการเปลี่ยน 'หน้าจอ'” Xavi Ivars ให้ความเห็นในประเด็นนี้ “แต่โครงการที่เริ่มต้นด้วยเป้าหมายของการเปลี่ยน 'ตัวแก้ไขเนื้อหาที่โพสต์' ไม่ควรกลับไปที่ชุมชนก่อนที่จะตัดสินใจเพียงฝ่ายเดียวว่าจะแทนที่หน้าจอตัวแก้ไขทั้งหมดหรือไม่
Meta box API ไม่ได้ถูกเลิกใช้ แต่ก็ยังไม่มีเส้นทางที่ชัดเจนสำหรับวิธีที่ Gutenberg จะสนับสนุนเมตาบ็อกซ์ PHP แบบ “ดั้งเดิม” ทีม Gutenberg กล่าวว่าปัญหายังไม่ได้รับการแก้ไขเนื่องจากขาดทรัพยากร โปรเจ็กต์ต้องการข้อมูลจากชุมชนและการสื่อสารที่ดียิ่งขึ้น หากทีมต้องการใช้โซลูชันที่จะนำไซต์ WordPress ส่วนใหญ่เข้าสู่ยุค Gutenberg ได้อย่างราบรื่นโดยมีการแตกหักน้อยที่สุด
ในปัจจุบัน ความเป็นไปได้ของการแสดงเมตาบ็อกซ์ PHP แบบเก่าที่อยู่ใต้เนื้อหานั้นเต็มไปด้วยความท้าทายและยังรอการถกเถียง หากมีเวลาหรือทรัพยากรไคลเอ็นต์ไม่เพียงพอสำหรับนักพัฒนาในการเขียนงานของตนใหม่ลงในกล่องเมตาที่ขับเคลื่อนด้วย JS เส้นทางที่ชัดเจนสำหรับการเลือกไม่ใช้อินเทอร์เฟซ Gutenberg อาจจำเป็นสำหรับไซต์ที่ต้องรักษาเมตาบ็อกซ์ "PHP" แบบเดิม .

