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 el foro 6 días a la semana, durante 22 horas por día.
Hoy no hay asistentes de soporte disponibles en el foro Spanish. Siéntase libre de enviar sus tiques y les daremos trámite tan pronto como estemos disponibles en línea. Gracias por su comprensión.
This thread is resolved. Here is a description of the problem and solution.
El problema:
Después de la actualización WPML 3.6.1 se me presenta el siguiente error:
Warning: Invalid argument supplied for foreach() in xxx/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-templates.php on line 223
La solución:
- Actualiza à WPML 3.6.2.
Documentación:
https://wpml.org/version/wpml-3-6-2/
This topic contains 11 respuestas, has 3 mensajes.
Last updated by Andrés hace 2 años, 2 meses.
Assigned support staff: Andrés.
Autor | Publicaciones |
---|---|
noviembre 29, 2016 a las 12:06 pm #1146408 | |
pmcruzm |
Después de actualizar el plugin WPML me ha aparecido los siguientes mensajes en el front: Notice: Trying to get property of non-object in /var/www/vhosts/arylex.eu/httpdocs/wp-includes/link-template.php on line 49 Warning: Invalid argument supplied for foreach() in /var/www/vhosts/arylex.eu/httpdocs/wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-templates.php on line 223 Warning: Invalid argument supplied for foreach() in /var/www/vhosts/arylex.eu/httpdocs/wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-templates.php on line 223 Warning: Invalid argument supplied for foreach() in /var/www/vhosts/arylex.eu/httpdocs/wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-templates.php on line 223 Warning: Invalid argument supplied for foreach() in /var/www/vhosts/arylex.eu/httpdocs/wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-templates.php on line 223 |
noviembre 29, 2016 a las 12:26 pm #1146441 | |
Andrés Supporter
Languages: Inglés (English ) Español (Español ) Francés (Français ) Timezone: Europe/Paris (GMT+01:00) |
Hola, Bienvenido al soporte de WPML. 1. El error que se presenta está asociadoa tu selector de idiomas, ¿me podrías decir que funcionalidad de selector estás utilizando? ¿Una nativa de WPML o tal vez una de tu tema? 2. Para poderte ayudar más rápidamente he activado la casilla para enviar la información de debug de WPML en este ticket. Por favor, lee el siguiente artículo si tienes dudas de como enviarnos esta información: En el caso que no puedas acceder a esta información, podrías proveerme la información de tu configuración WPML, es decir, plugins y versiones instaladas? Un saludo, |
noviembre 29, 2016 a las 12:37 pm #1146445 | |
pmcruzm |
Buenas, De momento para ocultar el mensaje he puesto en el wp-config.php la siguiente sentencia define('WP_DEBUG', false); Por si te sirve de ayuda, el selector de idiomas que utilizo es personalizado y el código es como te muestro a continuación: <li class="language"><a href="#"><?php echo ICL_LANGUAGE_NAME;?></a> <?php $languages = icl_get_languages('skip_missing=0&orderby=code'); if(!empty($languages)){ echo '<ul class="hidden">'; foreach($languages as $l){ if(ICL_LANGUAGE_NAME!=$l['native_name']){ echo '<li>'; echo '<a class="exclude-link" href="'.$l['url'].'">'; echo icl_disp_language($l['native_name']); echo '</a>'; echo '</li>'; } } echo '</ul>'; } ?> </li> Saludos. |
noviembre 29, 2016 a las 1:06 pm #1146469 | |
Andrés Supporter
Languages: Inglés (English ) Español (Español ) Francés (Français ) Timezone: Europe/Paris (GMT+01:00) |
En tu código, veo que utilizas una función que es obsoleta, icl_disp_language. Sin embargo, he utilizado el mismo código en mi instalación y no muestra errores. Así que puede estar asociado a algo específico de tu instalación. ¿Me podrías dar las credenciales de tu sitio web de prueba, de esta manera podemos dar un vistazo a tus ajustes, así como los pasos necesarios para reproducir este comportamiento? Para esto, debes poder ver una forma protegida en la parte inferior de este tópico. (Te pide hacer un backup y un + Aviso legal). Una instalación de test es preferible y nos haría mucho más fácil hacer una evaluación. En cuanto tenga más información te lo haré saber Importante: Haz un backup completo de tu sitio. Puedes usar un plugin como Duplicator para este propósito. Mira en: http://wordpress.org/plugins/duplicator/ Si no ves este formulario para completar los campos confidenciales NO los publiques, ya que serán visibles en el foro: Privacidad y seguridad al proporcionar información de Debug para soporte: |
noviembre 30, 2016 a las 9:33 am #1147290 | |
Andrés Supporter
Languages: Inglés (English ) Español (Español ) Francés (Français ) Timezone: Europe/Paris (GMT+01:00) |
Hola, Acabamos de publicar una nueva versión WPML 3.6.1 que corrige algunas bugs relacionados al selector de idiomas. ¿Podrías actualizar tu paquete y verificar si el problema persiste? Saludos, |
noviembre 30, 2016 a las 10:22 am #1147354 | |
pmcruzm |
Buenas, He actualizado a WPML 3.6.1 y en el archivo wp-config.php he puesto "define('WP_DEBUG', true);", pero me vuelve a aparecer el mensaje. Os adjunto una imagen. Saludos. |
noviembre 30, 2016 a las 12:06 pm #1147527 | |
Andrés Supporter
Languages: Inglés (English ) Español (Español ) Francés (Français ) Timezone: Europe/Paris (GMT+01:00) |
Lamentablemente no puedo reproducir este error localmente. Al parecer está ligado a tu configuración de servidor que algunas veces no puede distinguir entre una búsqueda vacía y un error. ¿Podrías actualizar tus versiones de PHP y MySQL? Espero tus comentarios, |
diciembre 5, 2016 a las 3:40 pm #1151725 | |
Andrés Supporter
Languages: Inglés (English ) Español (Español ) Francés (Français ) Timezone: Europe/Paris (GMT+01:00) |
Hola, Hemos preparado una errata para solucionar este problema. En ella se explica lo siguiente: 1. Busca el archivo: /sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-templates.php. if ( count( glob( $search_path ) ) > 0 ) { Por: if ( glob( $search_path ) ) { Erratum: ¿Soluciona esto tu problema? |
diciembre 12, 2016 a las 3:16 pm #1157893 | |
pmcruzm |
Buenas, Te confirmo que después de realizar el cambio en el archivo que me has indicado ya no me aparecen los mensajes de error. Saludos. |
diciembre 12, 2016 a las 3:21 pm #1157900 | |
Andrés Supporter
Languages: Inglés (English ) Español (Español ) Francés (Français ) Timezone: Europe/Paris (GMT+01:00) |
Super! |
octubre 9, 2017 a las 11:47 pm #1396014 | |
danielM-14 |
Me aparecen estos 2 warnings a ver la web en inglés. ¿Cómo los quito? Warning: explode() expects parameter 2 to be string, array given in /home/usrsirocokitesur/public_html/wp-content/plugins/sitepress-multilingual-cms/sitepress.class.php on line 6270 Warning: Invalid argument supplied for foreach() in /home/usrsirocokitesur/public_html/wp-content/plugins/sitepress-multilingual-cms/sitepress.class.php on line 6272 Mi web: hidden link Me urge. |
octubre 10, 2017 a las 5:16 am #1396135 | |
Andrés Supporter
Languages: Inglés (English ) Español (Español ) Francés (Français ) Timezone: Europe/Paris (GMT+01:00) |
Hola @danielm-14, Como este ticket se encuentra cerrado debo solicitarte que abras uno nuevo, así podremos concentrarnos en tu caso. Saludos |