การเตรียมพร้อมสำหรับ WordPress 5.4: เปลี่ยนธีมและปลั๊กอินที่นักพัฒนาควรรู้เกี่ยวกับ
เผยแพร่แล้ว: 2020-03-05ด้วยการเปิดตัวของ WordPress 5.4 ที่ใกล้เข้ามา ถึงเวลาแล้วที่นักพัฒนาปลั๊กอินและธีมต้องเริ่มทดสอบส่วนขยายของตนและทำให้แน่ใจว่าไม่มีปัญหาใดๆ นอกจากนี้ยังมี API ใหม่สำหรับคุณสมบัติที่จะเกิดขึ้นอีกด้วย เมื่อวานนี้ ทีมงานหลักได้เปิดเผยตัวเลือกการเปิดตัวครั้งแรกสำหรับ 5.4 การเปิดตัวอย่างเป็นทางการมีกำหนดในวันที่ 31 มีนาคม
โพสต์นี้จะทำหน้าที่เป็นคู่มือฉบับย่อพร้อมลิงก์ไปยังการเปลี่ยนแปลงที่สำคัญหลายอย่างที่นักพัฒนาซอฟต์แวร์ต้องคำนึงถึงในอีกไม่กี่สัปดาห์ข้างหน้า อย่าลืมทดสอบปลั๊กอินและธีมของคุณ
ผู้พัฒนาธีม

มีการเปลี่ยนแปลงหลายอย่างที่ผู้เขียนธีมจะต้องการทดสอบ WordPress 5.4 มีคุณสมบัติธีมพิเศษบางอย่าง นอกจากนี้ยังมีการเปลี่ยนแปลงที่เกี่ยวข้องกับมาร์กอัปหลายอย่างที่อาจทำลายการออกแบบธีมที่ส่วนหน้าและในตัวแก้ไขบล็อก ขออภัย สำหรับผู้สร้างธีมที่ต้องการสนับสนุน WordPress หลายเวอร์ชัน การเปลี่ยนแปลงบางอย่างอาจหมายถึง CSS ที่เพิ่มขึ้นเล็กน้อย
ไอคอนโซเชียลและบล็อกปุ่ม
WordPress 5.4 แนะนำสองบล็อกใหม่: ไอคอนและปุ่มโซเชียล บล็อกไอคอนโซเชียลอนุญาตให้ผู้ใช้แทรกไอคอน/ลิงก์สำหรับเครือข่ายโซเชียลต่างๆ ได้มากถึง 40 เครือข่าย บล็อกปุ่มช่วยให้ผู้ใช้จัดกลุ่มบล็อกปุ่มหลายปุ่มเข้าด้วยกัน ผู้สร้างธีมที่กำลังเปิดตัวรูปแบบตัวแก้ไขบล็อกที่กำหนดเองจำเป็นต้องพิจารณาบล็อกใหม่เหล่านี้เพื่อให้แน่ใจว่าได้ส่งออกอย่างถูกต้อง
สร้างพรีเซ็ตการไล่ระดับสีแบบกำหนดเอง
Gradients API ใหม่ช่วยให้ผู้สร้างธีมสามารถกำหนดพรีเซ็ตการไล่ระดับสีแบบกำหนดเองสำหรับผู้ใช้เพื่อใช้กับกลุ่มหรือบล็อกปุ่ม ผู้เขียนธีมจะต้องทำงานบางส่วนเพื่อปรับปรุงสิ่งที่มองไม่เห็นซึ่งเป็นค่าที่ตั้งไว้ล่วงหน้าของการไล่ระดับสีที่เป็นค่าเริ่มต้น ด้วยการทำงานเพียงเล็กน้อย การไล่ระดับสีสามารถเป็นเครื่องมือที่มีประโยชน์สำหรับผู้ใช้ ผู้เขียนธีมยังสามารถปิดใช้งานการไล่ระดับสีทั้งหมดได้หากไม่ต้องการสนับสนุน
มาร์กอัปตัวแก้ไขบล็อกและการเปลี่ยนแปลงสไตล์
ผู้สร้างธีมที่กำหนดเป้าหมายคลาสตัวแก้ไขเฉพาะโดยตรง จะต้องตรวจสอบสไตล์ตัวแก้ไขบล็อกของพวกเขา คลาสจำนวนมากที่มีส่วนนำหน้าตัวแก้ไขได้เปลี่ยนไปใช้ editor- หน้าตัวแก้ไข block-editor- องค์ประกอบ wrapper ที่มี .edit-post-layout__content ถูกลบออกไปโดยสิ้นเชิง องค์ประกอบ Wrapper หลายรายการถูกลบออกจากบล็อกและองค์ประกอบ Rich Text ช่องว่างภายในของ Core และระยะขอบติดลบบนบล็อกได้รับการปรับโครงสร้างใหม่แล้ว ซึ่งเป็นส่วนเสริมที่น่ายินดี บางทีผู้เขียนชุดรูปแบบจะไม่ต้องต่อสู้กับตัวเลือกที่ซ้อนกันหลายตัวอีกต่อไปเพื่อให้มีรูปแบบการทำงานพื้นฐานที่ตรงกับส่วนหน้า
การเปลี่ยนแปลงเหล่านี้ได้ทำลายหลายธีมที่ฉันเคยเห็น มีโอกาสดีที่ผู้เขียนธีมหลายคนจะต้องอัปเดตรูปแบบตัวแก้ไขบล็อกของตน
ในช่วงเวลาที่ทีมตรวจสอบธีมกำลังขอให้ผู้เขียนธีมเพิ่มเติมเพื่อส่งธีมที่มีสไตล์ตัวแก้ไขแบบกำหนดเอง การเปลี่ยนแปลงประเภทนี้ในคลาสและมาร์กอัปไม่ได้ช่วยเพิ่มความมั่นใจ ผู้พัฒนาธีมสามารถรู้สึกเหมือนกำลังต่อสู้กับการแพ้ อย่างไรก็ตาม งานกำลังดำเนินการเพื่อทำให้มาร์กอัปตัวแก้ไขใกล้เคียงกับการจับคู่แบบหนึ่งต่อหนึ่งกับส่วนหน้า เมื่อถึงจุดหนึ่ง ผู้เขียนธีมสามารถหวังว่าพวกเขาจะไม่ต้องจัดการกับการเปลี่ยนแปลงประเภทนี้อีกต่อไปในขณะที่สนับสนุนผู้ใช้ใน WordPress หลายเวอร์ชัน สำหรับตอนนี้พวกเขาอยู่ในช่วงเปลี่ยนผ่านที่ค่อนข้างยุ่งเหยิง
มาร์กอัปปฏิทินและการเปลี่ยนแปลงชั้นเรียน
ทีมงานหลักได้เปลี่ยนมาร์กอัปของ get_calendar() ซึ่งส่งผลต่อวิดเจ็ตปฏิทินด้วย เอาต์พุตปฏิทินไม่มีองค์ประกอบ <tfoot> อีกต่อไป ลิงก์ก่อนหน้าและเดือนถัดไปถูกย้ายไปยังองค์ประกอบ <nav> ด้านล่างองค์ประกอบ <table>
เอาต์พุตปฏิทินยังเพิ่มหรือเปลี่ยนแปลงหลาย ID และคลาส:
- เพิ่ม .
.wp-calendar-tableไปยังองค์ประกอบ wrapper -
.wp-calendar-navเพิ่มไปยังองค์ประกอบ wrapper การนำทาง -
.wp-calendar-nav-nextจะแทนที่#nextID ในลิงก์ของเดือนถัดไป -
.wp-calendar-nav-prevแทนที่#prevID ในลิงก์ของเดือนก่อนหน้า
สิ่งเหล่านี้กำลังทำลายการเปลี่ยนแปลง CSS ที่กำหนดเองซึ่งกำหนดเป้าหมายเป็น HTML หรือ ID เก่าจะต้องได้รับการอัปเดต

นักพัฒนาบล็อก

สำหรับนักพัฒนาปลั๊กอินที่กำลังสร้างบล็อกแบบกำหนดเอง WordPress 5.4 ได้แนะนำ API และเครื่องมือใหม่หลายตัวสำหรับการทำงานกับระบบบล็อก
บล็อกนั่งร้าน
นักพัฒนามีแพ็คเกจ NPM ใหม่สำหรับการสร้างบล็อกปลั๊กอินอย่างรวดเร็ว ด้วยคำสั่งเดียวของ npm init @wordpress/block <plugin-name> สคริปต์จะสร้างไดเร็กทอรีใหม่และสร้างไฟล์ PHP, CSS และ JavaScript ที่เหมาะสมซึ่งจำเป็นสำหรับการสร้างปลั๊กอินบล็อก นักพัฒนาสามารถใช้เครื่องมือ JavaScript ที่ทันสมัยโดยค่าเริ่มต้นหรือเลือกใช้เวอร์ชัน ES5 ก็ได้
จุดประสงค์ของแพ็คเกจบล็อกนั่งร้านมีไว้สำหรับผู้สร้างปลั๊กอินเพื่อสร้างปลั๊กอินบล็อกเดียวที่จะเข้าสู่ไดเรกทอรีบล็อกอย่างเป็นทางการในที่สุด
บล็อกคอลเลกชัน API
Block Collections API ทำงานคล้ายกับหมวดหมู่ อย่างไรก็ตาม ขึ้นอยู่กับเนมสเปซ เมื่อนักพัฒนาปลั๊กอินลงทะเบียนคอลเลกชันที่กำหนดเอง บล็อกใดๆ ที่แชร์เนมสเปซคอลเลกชันจะปรากฏภายใต้ส่วนที่กำหนดเองในตัวแทรกบล็อก ดูเหมือนว่าจะเป็นวิธีที่ชาญฉลาดกว่าในการจัดระเบียบบล็อก มันจะมีประโยชน์อย่างแน่นอนสำหรับปลั๊กอินที่สร้างไลบรารีของบล็อก ซึ่งเป็นวิธีอัตโนมัติในการจัดกลุ่มเข้าด้วยกัน
บล็อกรูปแบบ API
Block Variations API ใหม่ช่วยให้นักพัฒนาบล็อกสามารถสร้างสำเนาของบล็อกที่มีรูปแบบต่างๆ ได้ รูปแบบที่ลงทะเบียนแต่ละรายการจะปรากฏเป็นบล็อกแยกต่างหากในตัวแทรกบล็อกเพื่อให้ผู้ใช้เลือก
ตัวอย่างที่ดีของฟีเจอร์นี้คือบล็อกไอคอนโซเชียลใหม่ มันเป็นบล็อกเดียวที่มี 40 รูปแบบสำหรับเครือข่ายโซเชียลต่างๆ
การเปลี่ยนแปลงอื่นๆ ที่เกี่ยวข้องกับนักพัฒนา
มีการเปลี่ยนแปลงอื่น ๆ อีกสองสามข้อที่เกี่ยวข้องกับการพัฒนาปลั๊กอินและธีม
ตะขอเกี่ยวเมนูการนำทางใหม่
หลังจากรอและรอและรอ ในที่สุดนักพัฒนาก็ได้รับคำขอบางอย่างสำหรับการเพิ่มฟิลด์ที่กำหนดเองลงในหน้าจอผู้ดูแลระบบเมนูนำทางและเครื่องมือปรับแต่ง ตั๋วอย่างน้อยหนึ่งใบย้อนหลังได้ 9 ปี แต่ก็ยังดีกว่าไม่มาสาย ในอดีต นักพัฒนาจะต้องใช้คลาสวอล์คเกอร์แบบกำหนดเองเพื่อทำการปรับแต่งที่จำเป็นบางอย่าง อย่างไรก็ตาม สามารถใช้คลาสวอล์คเกอร์ได้ครั้งละคลาสเท่านั้น ซึ่งหมายความว่าปลั๊กอินหลายตัวที่ทำการเปลี่ยนแปลงจะไม่ทำงานร่วมกัน
ทีมงานหลักได้เพิ่ม wp_nav_menu_item_custom_fields hook ใหม่บนหน้าจอผู้ดูแลระบบเมนูนำทาง ซึ่งปรากฏก่อนปุ่ม "ย้าย" สำหรับรายการเมนูแต่ละรายการ สำหรับความเท่าเทียมกันกับผู้ดูแลระบบ รายการเมนูนำทางจะมี wp_nav_menu_item_custom_fields_customize_template ใหม่ในเครื่องมือปรับแต่ง hooks เหล่านี้จะช่วยให้นักพัฒนาสามารถเพิ่มฟิลด์แบบฟอร์มที่กำหนดเองซึ่งจำเป็นสำหรับการเพิ่มข้อมูลที่กำหนดเองไปยังรายการเมนูการนำทาง
Apply_shortcodes() ฟังก์ชันนามแฝง
WordPress 5.4 แนะนำ apply_shortcodes() ใหม่ เป็นนามแฝงสำหรับ do_shortcode() ฟังก์ชันใหม่นี้ให้ชื่อฟังก์ชันที่ถูกต้องตามความหมายมากขึ้น โดยทั่วไป ฟังก์ชันที่มีคำนำหน้า do_ คาดหวังเอาต์พุตหรือการดำเนินการบางประเภท ฟังก์ชันที่มีคำนำหน้า apply_ คาดว่าข้อมูลจะถูกส่งคืน
หากคุณกำลังสร้างธีมหรือปลั๊กอินที่มีพื้นที่ทราบรหัสย่อ คุณจะต้องสลับไปใช้ฟังก์ชันใหม่ แม้ว่าปัจจุบันฟังก์ชัน do_shortcode() จะไม่ถูกทำเครื่องหมายสำหรับการเลิกใช้งาน แต่นั่นก็ควรเป็นเป้าหมายในท้ายที่สุด
