- 상태
- 해결됨
- 보고된 제품
- 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 ); } }