Domanda

Sto lavorando su un blog wordpress cercando di sviluppare un sistema multilingua. Ogni volta che l'utente fa clic sul pulsante della sua lingua, il parametro di query lang viene aggiunto all'URL

Ex. localhost/my-blog?lang=es

Tutto funziona. Il punto è che ho il menu principale del blog che ha collegamenti a diverse sezioni del sito che utilizzano wordpress bloginfo ('url') :

Ex. <a href="<?php bloginfo('url');?>/contact-us">contact us</a>

E ogni volta che l'utente sceglie la sua lingua nella home page e poi fa clic su "contattaci"

ha ricevuto questo link sbagliato:

localhost/my-blog?lang=es/contact-us

che funzione di wordpress usi per questo genere di cose?

grazie

Luca

È stato utile?

Soluzione

Penso che questo tipo di query URL ti metterà nei guai in futuro, perché non conformarti all'utilizzo di un valore di sessione o di un cookie di base per memorizzare la scelta degli utenti,

quindi in questo modo puoi semplicemente aggiungere del codice al tuo file functions.php per leggere il valore della sessione o il cookie e restituire il tipo di traduzione?

esiste anche questo plugin xili-language

cioè: functions.php

// START THE SESSION
function start_session(){
  session_start();
}
add_action('init', 'start_session', 1);

function set_lang_pref($lang_pref){       
   if(isset($_GET['lang']) && ($_GET['lang']!=''){
      $setlang = $_GET['lang'];
      switch($setlang){
         case "es" :
         $lang = "es_ES";
         $_SESSION['selectedlanguage']=$lang;
         break;
      }
   }else{
      return false;
   }

}

il codice è davvero approssimativo, ma hai avuto l'idea ..? memorizzare la scelta dell'utente, verifica la scelta,

se è stato impostato, usa quel valore come pref della lingua sul sito ..? altrimenti torna all'impostazione predefinita ..

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top