Ir al contenido Ir a la barra lateral

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.

Sun Mon Tue Wed Thu Fri Sat
- 8:00 – 17:00 8:00 – 17:00 8:00 – 17:00 8:00 – 17:00 8:00 – 17:00 -
- - - - - - -

Zona horaria del soporte: Europe/Madrid (GMT+02:00)

Etiquetado: 

Este tema contiene 5 respuestas, tiene 0 voces.

Última actualización por Paola Mendiburu hace 1 día, 17 horas.

Asistido por: Paola Mendiburu.

Autor Publicaciones
julio 20, 2025 a las 10:43 am #17252958

Heriberto

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?

julio 21, 2025 a las 9:31 am #17254515

Carlos Rojas
Partidario de WPML desde 03/2017

Idiomas: Inglés (English ) Español (Español )

Zona horaria: Europe/Madrid (GMT+02:00)

Hola,
Muchas gracias por contactarnos

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

Quedo a la espera de su mensaje.
Saludos,
Carlos

julio 24, 2025 a las 9:20 am #17266614

Heriberto

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'))

julio 25, 2025 a las 3:17 pm #17271692

Paola Mendiburu
Partidario de WPML desde 11/2020

Idiomas: Inglés (English ) Español (Español ) Italiano (Italiano )

Zona horaria: Europe/Madrid (GMT+02:00)

Hola!

Soy Paola y espero que todo vaya bien. Continuaré con el ticket ya que Carlos se encuentra de vacaciones.

¿Me podrías pasar el detalle completo del error?

julio 26, 2025 a las 10:19 am #17272376

Heriberto

esto es lo que me salía al activar "Display errors" en el panel php de Siteground:

Fatal error: Uncaught TypeError: WPML\StringTranslation\Infrastructure\StringGettext\Validator\IsExcludedDomainStringValidator::validate(): Argument #2 ($domain) must be of type string, null given, called in /home/customer/www/2023.magasand.com/public_html/wp-content/plugins/wpml-string-translation/StringTranslation/Application/StringGettext/Service/GettextStringsService.php on line 96 and defined in /home/customer/www/2023.magasand.com/public_html/wp-content/plugins/wpml-string-translation/StringTranslation/Infrastructure/StringGettext/Validator/IsExcludedDomainStringValidator.php:27 Stack trace: #0 /home/customer/www/2023.magasand.com/public_html/wp-content/plugins/wpml-string-translation/StringTranslation/Application/StringGettext/Service/GettextStringsService.php(96): WPML\StringTranslation\Infrastructure\StringGettext\Validator\IsExcludedDomainStringValidator->validate('Loop Template I...', NULL) #1 /home/customer/www/2023.magasand.com/public_html/wp-content/plugins/wpml-string-translation/StringTranslation/Infrastructure/WordPress/HookHandler/GetTextFilter.php(30): WPML\StringTranslation\Application\StringGettext\Service\GettextStringsService->queueStringAsPendingIfUntranslatedOrNotTracked('Loop Template I...', NULL) #2 /home/customer/www/2023.magasand.com/public_html/wp-content/plugins/wpml-string-translation/StringTranslation/Infrastructure/WordPress/HookHandler/AbstractFilterHookHandler.php(14): WPML\StringTranslation\Infrastructure\WordPress\HookHandler\GetTextFilter->onFilter('Loop Template I...', 'Loop Template I...', NULL) #3 /home/customer/www/2023.magasand.com/public_html/wp-includes/class-wp-hook.php(324): WPML\StringTranslation\Infrastructure\WordPress\HookHandler\AbstractFilterHookHandler->WPML\StringTranslation\Infrastructure\WordPress\HookHandler\{closure}('Loop Template I...', 'Loop Template I...', NULL) #4 /home/customer/www/2023.magasand.com/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters('Loop Template I...', Array) #5 /home/customer/www/2023.magasand.com/public_html/wp-includes/l10n.php(207): apply_filters('gettext', 'Loop Template I...', 'Loop Template I...', NULL) #6 /home/customer/www/2023.magasand.com/public_html/wp-includes/l10n.php(340): translate('Loop Template I...', NULL) #7 /home/customer/www/2023.magasand.com/public_html/wp-content/plugins/divi-machine/includes/modules/divi-ajax-filter/includes/modules/MachineLoop/MachineLoop.php(286): esc_html__('Loop Template I...', NULL) #8 /home/customer/www/2023.magasand.com/public_html/wp-content/themes/Divi/includes/builder/class-et-builder-element.php(930): de_mach_archive_loop_code->init() #9 /home/customer/www/2023.magasand.com/public_html/wp-content/plugins/divi-machine/includes/modules/divi-ajax-filter/includes/modules/MachineLoop/MachineLoop.php(8198): ET_Builder_Element->__construct() #10 /home/customer/www/2023.magasand.com/public_html/wp-includes/class-wp-hook.php(324): Divi_filter_machine_loop_module_import('') #11 /home/customer/www/2023.magasand.com/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #12 /home/customer/www/2023.magasand.com/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #13 /home/customer/www/2023.magasand.com/public_html/wp-content/themes/Divi/includes/builder/framework.php(861): do_action('et_builder_read...') #14 /home/customer/www/2023.magasand.com/public_html/wp-includes/class-wp-hook.php(324): et_builder_add_main_elements(Object(WP)) #15 /home/customer/www/2023.magasand.com/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #16 /home/customer/www/2023.magasand.com/public_html/wp-includes/plugin.php(565): WP_Hook->do_action(Array) #17 /home/customer/www/2023.magasand.com/public_html/wp-includes/class-wp.php(835): do_action_ref_array('wp', Array) #18 /home/customer/www/2023.magasand.com/public_html/wp-includes/functions.php(1342): WP->main('') #19 /home/customer/www/2023.magasand.com/public_html/wp-blog-header.php(16): wp() #20 /home/customer/www/2023.magasand.com/public_html/index.php(17): require('/home/customer/...') #21 {main} thrown in /home/customer/www/2023.magasand.com/public_html/wp-content/plugins/wpml-string-translation/StringTranslation/Infrastructure/StringGettext/Validator/IsExcludedDomainStringValidator.php on line 27
Ha habido un error crítico en esta web.

Aprende más sobre el diagnóstico de WordPress.

julio 28, 2025 a las 10:28 am #17274526

Paola Mendiburu
Partidario de WPML desde 11/2020

Idiomas: Inglés (English ) Español (Español ) Italiano (Italiano )

Zona horaria: Europe/Madrid (GMT+02:00)

Hola!

Gracias por los detalles.

Puedes probar con la solución de la siguiente errata: https://wpml.org/errata/wpml-string-translationstringtranslationinfrastructurestringgettextrepositoryfrontendqueuejsonrepository-php-on-line-36/

Dime si se soluciona.