- Status
- Resolvido
- Relatado para
- WPML Multilingual CMS 4.6.3
- Resolvido em
- WPML 4.6.4
- Tags de tópico
- Compatibility
Visão geral do problema
Ao usar o WPML com o WordPress 4.7, ocorre um erro fatal devido ao bloco do Seletor de idiomas ser registrado para tradução. Isso acontece mesmo se o Gutenberg não estiver ativado.
Isso causa problemas de compatibilidade com versões do WordPress inferiores à 5.0.
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
Solução alternativa
Nossos desenvolvedores estão cientes dessa situação e estão preparando uma versão beta do WPML para corrigi-la. Enquanto isso:
- Por favor, certifique-se de ter um backup completo do seu site antes de prosseguir.
- Abra o arquivo …/wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Loader.php.
- Procure a linha 57.
- Mude:
public function registerBlocks() { $LSLocalizedScriptData = make( LanguageSwitcher::class )->register(); $this->localizedScriptData = array_merge( $this->localizedScriptData, $LSLocalizedScriptData ); }Para:
public function registerBlocks() { if ( \WPML_Block_Editor_Helper::is_active() ) { $LSLocalizedScriptData = make( LanguageSwitcher::class )->register(); $this->localizedScriptData = array_merge( $this->localizedScriptData, $LSLocalizedScriptData ); } }