WPML
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:


  1. Por favor, certifique-se de ter um backup completo do seu site antes de prosseguir.

  2. Abra o arquivo …/wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Loader.php.

  3. Procure a linha 57.

  4. 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 );
    		}
    	}

Todos os problemas conhecidos →