ภาพรวมของปัญหา
การใช้ WordPress เวอร์ชันต่ำกว่า 5.9.0 ร่วมกับ WPML 4.6.9 อาจทำให้เกิดข้อผิดพลาดร้ายแรง:
Uncaught Error: Call to undefined function WPMLBlockEditor::wp_enqueue_block_style() in /wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Loader.php:97
วิธีแก้ปัญหาชั่วคราว
ปัญหานี้ได้รับการแก้ไขแล้วใน WPML 4.6.10 การอัปเดตจะแก้ปัญหานี้บนไซต์ของคุณ ดังนั้นคุณจึงต้องใช้วิธีแก้ปัญหาชั่วคราวนี้เฉพาะเมื่อคุณยังไม่สามารถอัปเดตได้
คุณสามารถดาวน์เกรดเป็น WPML 4.6.8, ลองใช้เวอร์ชันเบต้าของ WPML V4.6.10 (เปิดในแท็บใหม่) หรือทำตามคำแนะนำด้านล่างเพื่อแพตช์โค้ดจนกว่าจะมีการออกตัวแก้ไขถาวร โปรดตรวจสอบให้แน่ใจว่าคุณได้สำรองข้อมูลไซต์ของคุณอย่างสมบูรณ์ก่อนที่จะแก้ไขโค้ดใด ๆ
ไปที่: wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Loader.php และค้นหาเมธอด \WPML\BlockEditor\Loader::maybeEnqueueNavigationBlockStyles จากนั้นแทนที่ด้วย:
public function maybeEnqueueNavigationBlockStyles() {
global $wp_version;
if ( version_compare($wp_version, '5.9.0' ) >= 0) {
if ( ! wp_style_is( 'wp-block-navigation', 'enqueued' ) || ! wp_style_is( 'wp-block-navigation', 'queue' ) ) {
wp_enqueue_block_style( LanguageSwitcher::BLOCK_LANGUAGE_SWITCHER, [
'handle' => 'wp-block-navigation'
] );
}
}
}