Per funzionare WPML richiede:

  • WordPress 3.9 o versioni successive
  • PHP 5.6 o versioni successive con limite di memoria di almeno 128 MB e memoria consigliata di 256 MB (consultate le impostazioni della memoria di WP). Ricordate che la memoria richiesta per il vostro sito dipende dal contenuto, dal tema e da tutti i plug-in.
  • MySQL 5.6 o versioni successive.
  • Che possiate creare tabelle nel vostro database.
  • Estensione Multibyte String per utilizzare String Translation di WPML
  • Estensione SimpleXML per utilizzare i file XLIFF in Translation Management di WPML.
  • La funzione eval() PHP deve essere attivata. Per ulteriori informazioni consultate la sezione su eval().

Utilizzo delle versioni precedenti di PHP e MySQL

WPML potrebbe essere eseguito su versioni precedenti di PHP e MySQL, ma non possiamo verificarlo. Se state utilizzando le versioni precedenti, vi consigliamo vivamente di attivare la modalità di debug di WPML. Questa farà emergere eventuali errori PHP e vi farà sapere se le cose non funzionano come dovrebbero.

Non esitate a commentare qui l’utilizzo di WPML con altre versioni.

Come controllare quale versione di PHP state utilizzando in questo momento

Alcune società di hosting condiviso hanno installato sia PHP5 che PHP7. Il modo migliore per verificare quale versione state effettivamente utilizzando è chiedere al processore PHP stesso (non al tecnico della società di hosting).

Create un file chiamato php_info.php e inseritelo nella vostra directory di WordPress (proprio accanto a wp-config.php). Questo file deve contenere la seguente stringa:
<?php phpinfo(); ?>

Niente di infattibile, no? Se necessario, potete scaricarlo come file ZIP. Prendete hp_info.zip (ovviamente, prima di caricarlo sul vostro server dovete decomprimerlo).

Terminata l’operazione, aprite un browser e andate su https://yourdomain.com/php_info.php .

Dovreste visualizzare una schermata simile a questa:

php-info.php che mostra la versione di PHP sul server
php-info.php che mostra la versione di PHP sul server

In cima indica la versione di PHP in esecuzione. Se è indicata la versione 5.5 di PHP, non funzionerà. La cosa migliore da fare è inviare un’e-mail alla società di hosting e chiedere come abilitare PHP 5.6 o una versione successiva.

Struttura dei permalink

WPML aggiunge informazioni linguistiche agli URL. È stato testato con le seguenti strutture permalink:

  • Predefinita
  • /%year%/%monthnum%/%postname%/

Spiegazione:

Potrebbero funzionare anche altre strutture di permalink, ma possono causare problemi su diverse configurazioni. In tutti i nostri siti utilizziamo /%year%/%monthnum%/%postname%/.

Per le pagine otterrete gli stessi identici URL di /%postname%/. Tuttavia, con questa struttura di permalink WordPress non farà confusione tra pagine e post, innescando potenziali problemi per la risoluzione della lingua.

Utilizzo della funzione eval()

La funzione eval() deve essere attivata, perché WPML utilizza un framework TWIG per la sua struttura e modelli, che rende WPML affidabile su questa funzione.

La maggior parte dei motori di modelli popolari, come Smarty e TWIG, ha scoperto che è più veloce scrivere il codice PHP su un file. In questo modo può approfittare della cache di OPcode ed evitare di richiedere una costruzione run-time del codice del modello.

TWIG esegue molti controlli e igiene per evitare possibili attacchi e può essere utilizzato con WPML in tutta sicurezza. Tuttavia non possiamo garantire che altri sviluppatori abbiano effettuato i controlli che eseguiamo nel nostro processo di garanzia di qualità.

Stiamo ancora studiando possibili soluzioni che non richiedono la compilazione di modelli al volo e che renderebbero superfluo l’uso della funzione eval(). Tuttavia, al momento questa è la soluzione migliore.

Nota: di solito la funzione eval() non può essere disabilitata in PHP, ma alcune estensioni come Suhosin possono farlo. Queste estensioni potrebbero essere installate e configurate dal vostro fornitore di hosting.