0

我正在开发一个 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功能来做这种事情?

谢谢

卢卡

4

1 回答 1

0

我认为这种类型的 url 查询将来会给您带来麻烦,为什么不遵守使用会话值或基本 cookie 来存储用户选择,

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

还有这个插件xili-language

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

}

代码真的很粗糙,但你明白了..?存储用户的选择,检查该选择,

如果已设置,则使用该值作为网站上的语言首选项..?否则只是恢复到默认值..

于 2011-09-13T12:07:02.173 回答