WPML
Estado
Resuelto
Notificado para
WPML Multilingual CMS 4.5.10
Resuelto en
WPML 4.6.4
Plugin/tema relacionado
Elementor
Etiquetas de temática
Bug, Compatibility

Resumen del problema

Si importa algún contenido de demostración que requiere Elementor (proveniente de los temas Astra o Real Homes, por ejemplo), notará que no será posible traducirlo y aparecerá el siguiente error en PHP 8:

Fatal error: Uncaught TypeError: json_decode(): Argument #1 ($json) must be of type string, array given in …/wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Elementor/DataConvert.php:22

Esto ocurre porque el contenido de demostración son datos serializados y nuestro código de integración espera una cadena codificada en JSON.

Solución alternativa

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


  1. Edite el archivo …/wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Elementor/DataConvert.php.

  2. Busque la línea 21.

  3. Cambie:
    public static function unserialize( $data ) {
        return json_decode( is_array( $data ) ? $data[0] : $data, true );
    }

    Por:

    public static function unserialize( $data ) {
            $data = is_array( $data ) ? $data[0] : $data;
            if (is_string($data)) {
                return json_decode( $data, true );
            }
            return $data;
    }

Todos los problemas conocidos →