- 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:
- Assicurati di avere un backup completo del tuo sito prima di procedere.
- Apri il file …/wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Loader.php.
- Cerca la riga 57.
- 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 ); } }