我正在开发一个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功能来做这类事情?
感谢
卢卡
答案 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 ..? 否则只需恢复默认值..