WPML
Stato
Risolto
Segnalato per
WPML Multilingual CMS 4.6.3
Risolto in
WPML 4.6.4
Tag dell’argomento
Compatibility

Panoramica del problema

Quando si utilizza WPML con WordPress 4.7, si verifica un errore fatale dovuto alla registrazione del blocco Selettore di lingua per la traduzione. Questo accade anche se Gutenberg non è abilitato.

Questo causa problemi di compatibilità con le versioni di WordPress inferiori alla 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

Soluzione alternativa

I nostri sviluppatori sono a conoscenza di questa situazione e stanno preparando una versione beta di WPML per risolverla. Nel frattempo:


  1. Assicurati di avere un backup completo del tuo sito prima di procedere.

  2. Apri il file …/wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Loader.php.

  3. Cerca la riga 57.

  4. Cambia:
    	public function registerBlocks() {
    		$LSLocalizedScriptData     = make( LanguageSwitcher::class )->register();
    		$this->localizedScriptData = array_merge( $this->localizedScriptData, $LSLocalizedScriptData );
    	}

    In:

    	public function registerBlocks() {
    		if ( \WPML_Block_Editor_Helper::is_active() ) {
    			$LSLocalizedScriptData     = make( LanguageSwitcher::class )->register();
    			$this->localizedScriptData = array_merge( $this->localizedScriptData, $LSLocalizedScriptData );
    		}
    	}

Tutti i problemi noti →