Para poder funcionar, o WPML precisa do seguinte:

  • WordPress 4.4 ou superior
  • PHP 5.6 ou superior com limite de memória de pelo menos 128 MB, embora o recomendado seja 256 MB (veja configurações de memória do WP). Lembre-se de que a memória necessária para seu site depende de seu conteúdo, tema e todos os plugins.
  • MySQL 5.6 ou superior.
  • Permissão para criar tabelas em seu banco de dados.
  • A API REST do WordPress precisa estar habilitada para que o WPML funcione corretamente.
  • A extensão Multibyte String para usar o WPML String Translation
  • A extensão SimpleXML para usar arquivos XLIFF no WPML Translation Management.
  • A função PHP eval() precisa estar habilitada. Mais informações sobre isso na seção sobre eval().

Uso de versões anteriores do PHP e MySQL

Pode ser que o WPML funcione em versões anteriores de PHP e MySQL, mas não podemos testar isso. Se estiver usando versões anteriores, recomendamos que habilite o modo de depuração do WPML. Isso fará com que quaisquer erros PHP sejam exibidos e avisará se algo não funcionar como deveria.

Fique à vontade para deixar um comentário sobre o uso do WPML em outras versões.

Como verificar qual versão de PHP você está usando

Algumas empresas de hospedagem de sites têm tanto PHP5 quanto PHP7 instalados. A melhor forma de verificar qual versão você realmente está usando é perguntar ao processador de PHP (e não ao técnico da empresa de hospedagem).

Crie um arquivo chamado php_info.php e coloque-o em seu diretório do WordPress (junto com o wp-config.php). Esse arquivo deve conter o seguinte:
<?php phpinfo(); ?>

Muito fácil, não é? Se você precisar, pode baixar o código em um arquivo ZIP. Faça download do php_info.zip (obviamente, você precisa descompactar o arquivo antes de fazer upload para seu servidor).

Quando ele já estiver lá, abra um navegador e acesse: http://seudominio.com/php_info.php .

Você verá algo parecido com isto:

php-info.php mostrando a versão PHP no servidor
php-info.php mostrando a versão PHP no servidor

Na parte superior, é mostrada a versão do PHP em execução. Se aparecer PHP versão 5.5, não funcionará. A melhor coisa a fazer é enviar um e-mail à empresa de hospedagem para perguntar como habilitar o PHP 5.6 ou superior.

Estrutura de Permalink

O WPML adiciona informações de idioma aos URLs. As seguintes estruturas de permalink foram testadas:

  • Padrão
  • /%year%/%monthnum%/%postname%/

Explicação:

Outras estruturas de permalink talvez funcionem também, mas podem causar problemas em configurações diferentes. Em todos os nossos sites, estamos usando /%year%/%monthnum%/%postname%/.

Para páginas, você obterá exatamente os mesmos URLs que com /%postname%/. No entanto, com essa estrutura de permalink, não há como o WordPress confundir páginas e posts, originando possíveis problemas na resolução de idiomas.

Uso da função eval()

A função eval() deve ser ativada porque o WPML usa o framework TWIG para sua estrutura e modelos, o que o torna dependente dessa função.

A maioria dos mecanismos de criação de modelos mais usados, como o Smarty e TWIG, consideram mais rápido escrever o código PHP para um arquivo. Dessa forma, é possível aproveitar o armazenamento em cache do OPcode e evitar exigir uma construção do código do modelo durante o tempo de execução.

O TWIG executa muitas verificações e sanitização para evitar todos os ataques possíveis e é seguro para ser usado com o WPML. No entanto, não podemos assegurar que outros desenvolvedores fizeram as mesmas verificações que realizamos em nosso processo de garantia de qualidade.

Ainda estamos estudando possíveis soluções que não exijam compilar modelos na hora, sem preparação, e que tornariam desnecessário o uso da função eval(). Mas, por enquanto, essa é a melhor solução.

Lembre-se de que geralmente, a função eval() não pode ser desativada no PHP, mas algumas extensões, como a Suhosin, podem fazer isso. Essas extensões talvez sejam instaladas e configuradas pelo seu provedor de hospedagem.