- Estado
- Resuelto
- Notificado para
- WPML Multilingual CMS 4.6.3
- Resuelto en
- WPML 4.6.4
- Etiquetas de temática
- Compatibility
Resumen del problema
Al usar WPML con WordPress 4.7, se produce un error fatal debido a que el bloque del Selector de idiomas se registra para su traducción. Esto ocurre incluso si Gutenberg no está activado.
Esto causa problemas de compatibilidad con versiones de WordPress inferiores a 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
Solución alternativa
Nuestros desarrolladores están al tanto de esta situación y están preparando una versión beta de WPML para solucionarlo. Mientras tanto:
- Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.
- Abra el archivo …/wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Loader.php.
- Busque la línea 57.
- Cambie:
public function registerBlocks() { $LSLocalizedScriptData = make( LanguageSwitcher::class )->register(); $this->localizedScriptData = array_merge( $this->localizedScriptData, $LSLocalizedScriptData ); }por:
public function registerBlocks() { if ( \WPML_Block_Editor_Helper::is_active() ) { $LSLocalizedScriptData = make( LanguageSwitcher::class )->register(); $this->localizedScriptData = array_merge( $this->localizedScriptData, $LSLocalizedScriptData ); } }