WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
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 เพื่อแก้ไขปัญหาดังกล่าว ในระหว่างนี้:


  1. โปรดตรวจสอบให้แน่ใจว่าได้ทำการสำรองข้อมูลทั้งหมดของเว็บไซต์ของคุณก่อนดำเนินการต่อ

  2. เปิดไฟล์ …/wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Loader.php

  3. ค้นหาบรรทัดที่ 57

  4. เปลี่ยน:
    	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 );
    		}
    	}

ปัญหาที่ทราบแล้วทั้งหมด →