让你的wordpress博客可以根据来路自动跳转到中英文版本
如果你需要用wordperss同时建立不同语言版本的博客网站,想让国内的朋友访问中文版,而让国外的朋友访问英文版,或是其他语言版本的话,这里介绍你一种最简单的修改方法,就可以实现。使用PHP判断浏览器语言,然后作相应跳转,这么做比使用IP库响应更快,当然,不是相当的精确,但能满足大致的需要了,因为会使用中文浏览器的用户,无论国内还是国外,应该是懂中文的,相应的,使用英文版浏览器的用户也是如此。
可以新建一个默认首页如default.php使用下面的代码,也可以按下面代码的逻辑顺序来更改一下wordpress的首页index.php即可
<?php error_reporting(E_ALL ^ E_NOTICE); preg_match('/^([a-z\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);// 分析 HTTP_ACCEPT_LANGUAGE 的属性 $lang = $matches[1];// 这里只取第一语言设置 (其他可根据需要增强功能,这里只做简单的方法演示) header("HTTP/1.1 301 Moved Permanently"); switch ($lang) { case 'zh-cn' : header ("Location:http://www.wheatv.com"); case 'en-us' :; header ("Location:http://en.wheatv.com"); default: header ("Location:http://www.wheatv.com"); } ?>
在网上还有JS判断操作系统语言的方法,但是我不是很推荐,如果这样,你的网站默认首页将会是一个仅有JS跳转判断的文件,这对SEO恐怕不是很好。



友情链接:
这个很强大哟。。。
[回复]
有一点不是很明白
就是我双语言的那我网站编辑内容是不是也是需要编辑多个语言?
那我是不是需要安装多个WP
[回复]
BadJohnny 回复:
九月 18th, 2010 at 9:53 上午
用WP3.0多站点功能就可以实现2个独立版本的网站出来,实际只要安装一个WP就行了。
[回复]
我和2楼的问题一样,能详细说说怎么实现的吗?是要多站点还是编辑两种语言的内容
[回复]
BadJohnny 回复:
十月 15th, 2010 at 2:01 上午
实际上就是要创建两个站点,一个英文,一个中文,根据浏览器语言判断,是中文的,就跳转到www.abc.com,是英文的就跳转到en.abc.com
[回复]
我的就是在wordpress里创建了两个站点。但是用这种方式,存在重定向循环的问题。怎么解决啊?
[回复]
BadJohnny 回复:
四月 18th, 2011 at 3:55 下午
你再结合你的程序试试改进后的代码结构,在正文中
[回复]
fong 回复:
四月 19th, 2011 at 3:22 下午
我是把代码加到了wordpress的根目录的index.php中,一旦判断进行了跳转,又回去执行index.php。这样就形成了循环。
我的解决办法是把代码加到wordpress根的主题的index.php中,中文就跳转到cn,英文就跳转到en。根的主题是不用的,仅作跳转中。虽然是笨办法,但是达到目的就行。呵呵。
[回复]
le 回复:
一月 14th, 2012 at 2:20 下午
此办法可行吗?代码放在主题的index.php?
我放在了主题的header.php文件中,出现了一个很可笑的问题,首先调出了判断的中文页面,但是下方也出现了英文页面,两个页面上下排列了。
烦请确认一下,到底是把代码放在哪个页面?
博主用的header函数,我发现还有人用print或者echo的,有区别吗?thanks a lot
[回复]
le 回复:
一月 14th, 2012 at 2:22 下午
重复一下,我感觉应该是修改根目录的文件比较对,或者是index.php,或者是wp-blog-header.php。
请确认一下到底哪个最合适呢?
很实用的技巧,学习了
[回复]
这个不错啊,学习了
[回复]