問題の概要
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のベータ版を試す (新しいタブで開く)か、恒久的な修正がリリースされるまで以下の手順に従ってコードにパッチを適用します。コードを変更する前に、必ずサイトの完全なバックアップを取得してください。
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'
] );
}
}
}