WPML

问题概述

将低于 5.9.0 版本的 WordPress 与 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 的 Beta 版 (在新标签页中打开),或按照以下说明修补代码,直到发布永久修复程序。在修改任何代码之前,请确保您已对站点进行了完整备份。

前往: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'
			] );
		}
	}
}

所有已知问题

仍然遇到此问题?

如果更新无法解决问题,请提出支持问题,我们将与您一起排查。