wordpress博客basepath

时间:2011-09-12 14:38:58

标签: wordpress internationalization hyperlink base-path

我正在开发一个wordpress博客,试着开发一个多语言系统。 每当用户点击他的语言按钮时,lang查询参数就会添加到url

Ex. localhost/my-blog?lang=es

一切正常。关键是我有博客主菜单,链接到网站的不同部分,使用wordpress bloginfo('url')

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

每当用户在主页上选择语言,然后点击“与我们联系”

他收到了这个错误的链接:

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

你使用哪种wordpress功能来做这类事情?

感谢

卢卡

1 个答案:

答案 0 :(得分:0)

我认为这种类型的url查询会让你在将来遇到麻烦,为什么不使用会话值或基本cookie来存储用户选择,

那么你可以简单地在你的functions.php文件中添加一些代码来读取会话值或cookie,然后返回翻译类型?

还有这个插件xili-language

ie: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;
   }

}

代码非常粗糙,但你明白了吗? 存储用户选择, 检查那个选择,

如果已设置然后使用该值作为网站上的语言pref ..? 否则只需恢复默认值..