- สถานะ
- แก้ไขแล้ว
- รายงานสำหรับ
- WPML Multilingual CMS 4.6.3
- แก้ไขใน
- WPML 4.6.4
- แท็กหัวข้อ
- Compatibility
ภาพรวมของปัญหา
เมื่อใช้งาน WPML กับ WordPress 4.7 จะเกิดข้อผิดพลาดร้ายแรงขึ้นเนื่องจากบล็อกตัวสลับภาษาถูกลงทะเบียนสำหรับการแปล ปัญหานี้เกิดขึ้นแม้ว่าจะไม่ได้เปิดใช้งาน Gutenberg
สิ่งนี้ทำให้เกิดปัญหาความเข้ากันได้กับ WordPress เวอร์ชันที่ต่ำกว่า 5.0
Fatal error: Uncaught Error: Call to undefined function WPML\BlockEditor\Blocks\register_block_type() in …/wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Blocks/LanguageSwitcher.php:47
วิธีแก้ปัญหาชั่วคราว
นักพัฒนาของเราทราบถึงสถานการณ์นี้แล้วและกำลังเตรียมเวอร์ชันเบต้าของ WPML เพื่อแก้ไขปัญหาดังกล่าว ในระหว่างนี้:
- โปรดตรวจสอบให้แน่ใจว่าได้ทำการสำรองข้อมูลทั้งหมดของเว็บไซต์ของคุณก่อนดำเนินการต่อ
- เปิดไฟล์ …/wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Loader.php
- ค้นหาบรรทัดที่ 57
- เปลี่ยน:
public function registerBlocks() { $LSLocalizedScriptData = make( LanguageSwitcher::class )->register(); $this->localizedScriptData = array_merge( $this->localizedScriptData, $LSLocalizedScriptData ); }เป็น:
public function registerBlocks() { if ( \WPML_Block_Editor_Helper::is_active() ) { $LSLocalizedScriptData = make( LanguageSwitcher::class )->register(); $this->localizedScriptData = array_merge( $this->localizedScriptData, $LSLocalizedScriptData ); } }