Tổng quan về sự cố
Sử dụng phiên bản WordPress thấp hơn 5.9.0 với WPML 4.6.9 có thể gây ra lỗi nghiêm trọng:
Uncaught Error: Call to undefined function WPMLBlockEditor::wp_enqueue_block_style() in /wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Loader.php:97
Giải pháp tạm thời
Sự cố này đã được khắc phục trong WPML 4.6.10. Việc cập nhật giải quyết vấn đề này trên trang web của bạn, vì vậy bạn chỉ cần giải pháp tạm thời này nếu chưa thể cập nhật.
Bạn có thể hạ cấp xuống WPML 4.6.8, thử bản beta của WPML V4.6.10 (mở trong tab mới), hoặc sử dụng các hướng dẫn bên dưới để vá mã cho đến khi có bản sửa lỗi chính thức. Vui lòng đảm bảo bạn có bản sao lưu đầy đủ cho trang web của mình trước khi sửa đổi bất kỳ mã nào.
Truy cập: wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Loader.php và tìm phương thức \WPML\BlockEditor\Loader::maybeEnqueueNavigationBlockStyles rồi thay thế bằng:
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'
] );
}
}
}