Cerca

Usare il condizionale PHP con WPML

WordPress multilingua con Polylang
WordPress multilingua con Polylang

WordPress multilingua con plugin WPML

Un barbatrucco facile facile per chi gestisce un sito multilingua in WordPress ed il noto plugin WPML, come far apparire qualcosa in più (o di meno, o di diverso) se il sito viene visualizzato in italiano piuttosto che in inglese o in aramaico.

Basta utilizzare un po’ di PHP condizionale (lo abbiamo già visto riguardo WordPress e WooCommerce).

Possiamo, ad esempio, che un particolare box di informazioni appaia solo negli articoli in italiano ma non in quelli in altre lingue, o che una particolare funzione si attivi solo quando si visualizzano le pagine in francese.

Ma vediamo nel dettaglio il codice che ci serve.

Nel file del tema relativo alla parte che vogliamo modificare, che sia l’header piuttosto che il singolo articolo, inseriamo questo codice PHP:

<?php if(ICL_LANGUAGE_CODE=='it'){ ?>
 
/* Inserire qui il contenuto (testo, PHP o HTML) */
/* da visualizzare solo nelle pagine in italiano */
 
<?php } ?>

Con lo stesso sistema, possiamo inserire un filtro o altra azione nel file functions.php del tema:

if(ICL_LANGUAGE_CODE=='it'){
 
/* Inserire la funzione da attivare */
/* solo nelle pagine in italiano */
 
}

Com’è facile immaginare, ci si può sbizzarrire sia con le funzionalità del PHP (con i vari else, elseif etc), sia con il codice permesso da WMPL.

Condividi se ti è piaciuto!

Altri articoli che potrebbero interessarti:

Picture of Roberto Rota

Roberto Rota

Libero professionista, un "artigiano del web", lavoro nella comunicazione in rete da quando esiste Internet. Mi occupo principalmente di assistenza su WordPress e assistenza e consulenza WooCommerce, seguo la realizzazione di progetti web, in particolare siti di e-commerce, visibilità e comunicazione in rete. Il mio curriculum è su Linkedin, e mi puoi trovare anche su Instagram, FaceBook e Twitter.

DAI IL TUO CONTRIBUTO

Se il mio lavoro ti è stato di aiuto, contribuisci alla continuità di questo sito.
Basta una piccola donazione su PayPal, una pizza e una birra alla tua salute!

4 risposte

  1. Nel functions.php NON funziona. Sai per caso come mai? Forse c’è da dichiarare qualche variabile globale o includere qualche file esterno?
    Grazie.

    1. Ciao Vincenzo, io ho usato il condizionale descritto nel post in più di un’occasione direttamente nel file functions.php, e non ricordo di aver preso mai accorgimenti particolari.

      La sintassi è corretta?

      L’istruzione viene direttamente dalla documentazione di WPML, forse li c’è scritto qualcosa di più, hai guardato?

      rob

      1. Ciao si la sintassi è corretta. Ho trovato una soluzione comunque. La posto qui per coloro che magari si troveranno nello stessa condizione.

        Credo innanzitutto sia un problema del template che NON dichiara correttamente le globali di wpml. Comunque per risolvere usate:

        global $sitepress;
        $sitepress->get_current_language() <– come risultato è identico a ICL_LANGUAGE_CODE quindi tira fuori il codice lingua.

        Grazie 1000 per la risposta così veloce 🙂

        Vincenzo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.