Este hilo está resuelto. Aquí tienes una descripción del problema y la solución.
Problem: El cliente está experimentando un error de pantalla blanca al activar WPML junto con Divi y Divi Machine en su sitio de WordPress. Este problema se presenta solo cuando los usuarios están logueados y se debe a un bug en WPML String Translation donde la función
IsExcludedDomainStringValidator::validate()
no maneja correctamente los parámetros NULL, causando un TypeError fatal.
Si la solución propuesta no resuelve el problema o parece no ser relevante debido a actualizaciones o diferencias en el caso específico, recomendamos abrir un nuevo ticket de soporte. También es altamente recomendable revisar los problemas conocidos en https://wpml.org/known-issues/, verificar la versión del arreglo permanente y confirmar que tienes instaladas las últimas versiones de los temas y plugins. Para asistencia adicional, puedes visitar nuestro foro de soporte en https://wpml.org/es/forums/forum/soporte-en-espanol/.
Este es el foro de soporte técnico de WPML, el plugin multilingüe de WordPress.
Todas las personas pueden leerlo pero solo los clientes de WPML pueden ingresar comentarios. El equipo de WPML responde en los foros 6 días a la semana, 22 horas por día.
Antecedentes del problema:
Estoy intentando activar WPML en un sitio que utiliza Divi y Divi Machine. En el frontend, aparece un error de pantalla blanca. Si desactivo cualquiera de los dos plugins (ACF o Divi Machine), el frontend se ve correctamente. Tengo otros sitios con WPML y Divi Machine funcionando sin problemas. Este es un sitio en desarrollo con los mínimos plugins necesarios (11). No entiendo qué está fallando. Link to a page where the issue can be seen: enlace oculto
Síntomas:
Cuando activo WPML, aparece un error de pantalla blanca con el mensaje: 'Ha habido un error crítico en esta web. Aprende más sobre el diagnóstico de WordPress.'
Preguntas:
¿Por qué aparece un error crítico al activar WPML con Divi y Divi Machine?
¿Cómo puedo solucionar el error de pantalla blanca en el frontend?
Por favor realice los siguientes pasos para obtener más información acerca del error y por lo tanto de la causa del problema:
- Active el modo de depuración de WordPress siguiendo los pasos descritos en esta guía: https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/
- Active los plugins y reproduzca el error
- Comparta el último mensaje de error fatal que aparece en el archivo debug.log que se encuentra en la carpeta wp-content
Al parecer es un problema entre WPML y Divi Machine:
Bug en WPML String Translation: La función `IsExcludedDomainStringValidator::validate()` no valida correctamente parámetros NULL, causando un TypeError fatal cuando Divi Machine pasa `NULL` como textdomain.
Además me ocurre solo en usuarios logados.
He puesto un fix en el plugin Divi Machine para que no haya null y sustituya por 'divi-machine', pero no sé cuánto aguantará…
'// ANTES (líneas problemáticas)
esc_html__('texto', $this->de_domain_name)
// DESPUÉS (fix aplicado)
esc_html__('texto', (!empty($this->de_domain_name) ? $this->de_domain_name : 'divi-machine'))
Como tenía el otro fix, supongo que se solucionó… pero he migrado el sitio a la ubicación de producción y ahora, al cambiar al idioma secundario tengo pantallazo blanco y estos errores:
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the divi-machine domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/customer/www/magasand.com/public_html/wp-includes/functions.php on line 6121
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wpmudev domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/customer/www/magasand.com/public_html/wp-includes/functions.php on line 6121
Deprecated: Creation of dynamic property RevsliderDiviModule::$icon_path is deprecated in /home/customer/www/magasand.com/public_html/wp-content/themes/Divi/includes/builder/class-et-builder-element.php on line 1425
Warning: Cannot modify header information - headers already sent by (output started at /home/customer/www/magasand.com/public_html/wp-includes/functions.php:6121) in /home/customer/www/magasand.com/public_html/wp-content/plugins/wpmu-dev-seo/includes/core/instant-indexing/class-indexnow-actions.php on line 295
fba6e8e7d47c43fa8f17413ddd6bcf1c