Inicio Informática Solucionar el Warning después de actualizar WPML en Wordpress

Solucionar el Warning después de actualizar WPML en Wordpress

Publicado por entreunosyceros

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

El otro día me encontré con un problema al montar un Wordpress con un cliente. Me encontré el Wordpress montado ya, con un montón de plugins instalado y una plantilla (…que esta plantilla da para una serie de posts) un poco recargada para mi gusto. El tema es que esta instalación tenía instalado el maravilloso plugin WPML para las traducciones a otros idiomas.

WPMLTras actualizar este plugin, el debug comenzó a mostrar un Warning del tipo: on line 223 Warning: Invalid argument supplied for foreach() in httpdocs/wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-templates.php. No se trata de un error propiamente dicho, pero el error_log comienza a llenarse con cientos de líneas avisando de que algo no marcha bien.

Soluciona el Warning del tipo: on line 223 Warning: Invalid argument supplied for foreach()  del plugin WPML

La solución es tan fácil como editar el archivo al que hace referencia el Warning. Este lo encontraremos en la ruta indicada:  /wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-templates.php. En el, en la línea 222 encontraremos lo siguiente:

if ( count( glob( $search_path ) ) > 0 ) {

Esta línea la tendremos que cambiar por:

if ( glob( $search_path ) ) {

Como vemos, se suprime la función count y la comparación con 0. Al eliminarla del condicional, la función glob devuelve un array que contiene los ficheros/directorios coincidentes, un array vacío si no hubo ficheros coincidentes o FALSE si se produjo un error.

Aplicando estos pequeños cambios, el debug de Wordpress dejará de mostrar el aviso y nuestro error log dejará de llenarse tontamente con el Warning de turno.

Doy por hecho que todo el que esté leyendo esto sabe como activar el debug de Wordpress. Pero si este no fuese tu caso, quiero aclarar que WP_DEBUG es una constante de PHP (una variable global permanente). Al ser establecida como verdadera (true) activa el modo de «depuración» en WordPress. Su valor predeterminado es falso (false) y el archivo en el que debería establecer su valor es wp-config.php (situado en la raíz del sitio).

El formato de esta constante que deberías buscar y cambiar según te interese es el siguiente:

define('WP_DEBUG', true); //WP_DEBUG ACTIVADO

o

define('WP_DEBUG', false); //WP_DEBUG DESACTIVADO

Fuente

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.