Change "en-US" to "en"

时间:2014-10-30 作者:user1888625

嘿,我正在尝试编辑WP主题文件,我正在使用bloginfo(\'language\') 获取页面的语言。

但是,它会返回“en-US”,这在重定向页面时不起作用。我正在工作的网站只接受“/?lang=en”。

我曾尝试使用if语句来指定不同情况下的解决方案,但失败了,似乎主题使用了复杂的循环方法,稍有改动就会使函数不起作用。

那么,我可以问一下,是否有其他方法可以将“en-US”转换为“en”,或者直接从浏览器中获取“en”?

非常感谢。

1 个回复
最合适的回答,由SO网友:aifrim 整理而成

如果要获取浏览器的语言,请执行以下操作:

$lang = substr($_SERVER[\'HTTP_ACCEPT_LANGUAGE\'], 0, 2);
如果要重定向到?lang=en:

header("location: {$_SERVER[\'REQUEST_URI\']}?lang={$lang}");
你应该了解HTTP_ACCEPT_LANGAUGE.

有很多方法可以与语言一起跳舞,但你应该了解一些关键点。

选择网站的默认语言(在您的情况下为法语)

  • 用户可能是法语,但其操作系统和;浏览器可以使用英语,因为他想学习贸易语言$_COOKIE["wpse_166976_lang"] = "fr" 或$_COOKIE["wpse_166976_lang"] = $land 哪里$lang = get_query_var("lang")
  • 获取语言WPML 插件,您可以使用ICL_LANGUAGE_CODE 获取页面的语言

    结束

    相关推荐

    Wp-admin不会重定向到wp-login.php

    由于某种原因,我的插件导致/wp-admin/ 不重定向到wp-login.php 这是应该的。我将其缩小到以下两行代码:foreach( glob($this->path[\'modules_dir\'] . \'*/_*.php\') as $class_path ) require_once( $class_path ); 我不确定是不是glob() 功能或什么的,但在本地这不是问题,但一旦在托管上直播,这就是问题。主机正在使用PHP Version 5.4.20 它