Para funcionar correctamente, WPML necesita:

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.