Skip Navigation

Para funcionar correctamente, WPML necesita:

  • WordPress 4.7 o posterior
  • PHP 5.6 o superior con un límite de memoria de al menos 128 MB, pero es aconsejable contar con 256 MB (ver Ajustes de memoria de WPML) Debe tener en cuenta que la memoria requerida para su sitio depende del contenido, el tema y los plugins del mismo.
  • MySQL 5.6 o superior. Como alternativa, puede utilizar MariaDB 10.1 o superior.
  • Que usted genere las tablas en su base de datos.
  • Para que WPML funcione correctamente, debe estar activada la API REST de WordPress.
  • Extensión de cadenas de caracteres multibyte para poder utilizar traducción de cadenas de WPML
  • Extensión simpleXML para poder utilizar archivos XLIFF en el módulo de Administración de traducciones de WPML.
  • La función eval() PHP debe estar habilitada. Más información en la sección correspondiente de eval().
  • El módulo PHP libxml 2.7.8 o superior

Utilizar versiones anteriores de PHP y MySQL

Es posible que WPML funcione en versiones anteriores de PHP y MySQL, pero no podemos comprobarlo. Si está utilizando versiones anteriores, le recomendamos habilitar el modo depuración de WPML. Esto va a permitir exponer errores de PHP y hacerle saber si las cosas no funcionan correctamente.

No dude en dejar un comentario aquí acerca de la utilización de WPML con otras versiones.

Cómo verificar qué versión de PHP está utilizando actualmente

Algunas empresas de hosting compartido han instalado conjuntamente PHP5 y PHP7. La mejor manera de comprobar qué versión está utilizando es consultar al mismo procesador PHP (y no al técnico de la empresa de hosting).

Cree un archivo con nombre php_info.php y colóquelo en su directorio WordPress (justo al lado de wp-config.php). Este archivo deberá contener los elementos siguientes:
<?php phpinfo(); ?>

No es muy difícil, ¿no? Si fuese necesario, puede descargarlo como archivo zip. Obtenga el archivo php_info.zip (por supuesto que deberá abrir el ZIP antes de subirlo a su servidor).

Una vez allí, deberá abrir el navegador y dirigirse a https://yourdomain.com/php_info.php .

Seguramente podrá ver lo siguiente:

php-info.php muestra la versión de PHP en el servidor
php-info.php muestra la versión de PHP en el servidor

En la parte superior, indica la versión de PHP que está utilizando. Si indica PHP Version 5.5, no funcionará. Lo más conveniente es enviar un email a su empresa de hosting y consultar cómo debe hacer para habilitar PHP 5.6, o superior.

Estructura de permalink

WPML agrega información de idioma a las URL. Esto se ha probado con las siguientes estructuras de permalink:

  • Por defecto
  • /%year%/%monthnum%/%postname%/

Explicación:

Es posible que también funcionen otras estructuras de permalink pero pueden surgir problemas en distintas configuraciones. En todos nuestros sitios, utilizamos /%year%/%monthnum%/%postname%/.

Para las páginas, se obtienen las mismas URL al igual que con /%postname%/. Sin embargo, con esta estructura de permalink, no hay manera de que WordPress se confunda entre páginas y entradas y surjan problemas con los distintos idiomas.

Usos de la función eval()

La función eval() debe estar habilitada dado que WPML utiliza el marco TWIG para su estructura y plantillas, lo cual torna al plugin en dependiente de esa función.

La mayoría de los motores que administran plantillas, como Smarty y TWIG, han descubierto que es más rápido escribir el código PHP a un archivo. De esa forma, es más fácil realizar el cacheo OPcode y evitar la necesidad de contar con un generador de código de plantillas durante el tiempo de ejecución.

TWIG corre muchas verificaciones y controles para evitar posibles ataques y es más seguro utilizarlo con WPML. No obstante ello, no podemos asegurar que otros desarrolladores hayan implementado los mismos controles que nosotros durante nuestro proceso de certificación de calidad.

Aún estamos investigando posibles soluciones que no requieren la compilación de plantillas sobre la marcha y que harían innecesario el uso de la función eval(). Sin embargo, esta es la mejor solución al presente.

Advierta que, en general, la función eval() no puede ser inhabilitada en PHP, aunque algunas extensiones como Suhosin pueden hacerlo. Dichas extensiones deben ser instaladas y configuradas por el propio proveedor de hosting.