- ステータス
- 解決済み
- 報告対象
- WPML Multilingual CMS 4.6.3
- 解決されたバージョン
- WPML 4.6.4
- トピックタグ
- Compatibility
問題の概要
WordPress 4.7でWPMLを使用すると、言語スイッチャーブロックが翻訳用に登録されているため、致命的なエラーが発生します。これは、Gutenbergが有効化されていない場合でも発生します。
これにより、5.0未満のWordPressバージョンで互換性の問題が発生します。
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のベータ版を準備しています。それまでの間は、以下の手順を実行してください。
- 続行する前に、必ずサイトの完全なバックアップを作成してください。
- …/wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Loader.phpファイルを開きます。
- 57行目を探します。
- 変更前:
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 ); } }