- Status
- Resolvido
- Relatado para
- WPML Multilingual CMS 4.5.10
- Resolvido em
- WPML 4.6.4
- Plugin/tema relacionado
- Elementor
- Tags de tópico
- Bug, Compatibility
Visão geral do problema
Se você importar algum conteúdo de demonstração que requer o Elementor (vindo dos temas Astra ou Real Homes, por exemplo), você notará que não será possível traduzi-lo, e ocorrerá o seguinte erro no 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
Isso acontece porque o conteúdo de demonstração são dados serializados, e nosso código de integração espera uma string codificada em JSON.
Solução alternativa
Por favor, certifique-se de fazer um backup completo do seu site antes de prosseguir.
- Edite o arquivo …/wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Elementor/DataConvert.php.
- Procure a linha 21.
- Altere:
public static function unserialize( $data ) { return json_decode( is_array( $data ) ? $data[0] : $data, true ); }Para:
public static function unserialize( $data ) { $data = is_array( $data ) ? $data[0] : $data; if (is_string($data)) { return json_decode( $data, true ); } return $data; }