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


  1. Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.

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

  3. Busque la línea 57.

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

Todos los problemas conocidos →