【问题标题】:detect browser language and redirect to another URL检测浏览器语言并重定向到另一个 URL
【发布时间】:2016-06-20 09:12:03
【问题描述】:

我在“hostingX.com”上安装了 WordPress 当浏览器是英文时,我需要重定向到另一个页面。 例如,我的 WordPress 是西班牙语,您可以通过这个 URL “hostingX.com/”访问。 我创建了一个名为 /hello-english/ 的页面。 您可以访问“hostingX.com/hello-english/” 仅当浏览器语言为英语时,我才希望将用户重定向到此页面。 我可以这样做吗?

【问题讨论】:

    标签: wordpress redirect browser detect


    【解决方案1】:
    add_action( 'init', 'custom_lang_found' );
    function custom_lang_found(){
        $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
        if ($lang == "en" ){
            if (($_SERVER['REQUEST_URI'] == "/" ) && (strpos($_SERVER['HTTP_REFERER'],get_home_url()) === false)) {
                $url = get_home_url()."/en/";
                if ( wp_redirect( $url ) ) {
                    exit;
                }
            }
        }
    }
    

    【讨论】:

    • 我必须在哪里输入此代码,在函数中?这不会在我的 wordpress 的任何页面上进行重定向吗?我只需要将“主页”重定向到“/hello-english/”
    • 谢谢!我理解代码,但我现在不知道如何执行它?我已经在主题函数中编写了(第 1 行),但它不起作用。我应该在哪里写?
    • 我已经更新了我的答案,你能把上面的代码添加到你的functions.php吗?
    • 谢谢!我已经在函数和作品上写了这个函数。但是, is_home 或 is_front_end 返回空并且永远不会进入。另一方面,如果有直接链接到“hosting.com”(查看西班牙语页面),将始终引导 /hello-english/ ?您将永远无法查看默认的 WordPress 页面?
    【解决方案2】:

    您可以使用 xill 语言插件。此插件检查浏览器语言并更改为其他语言。我可以在 wordpress 中使用插件。 https://wordpress.org/plugins/xili-language/

    【讨论】:

    • 这个插件好像是为了把网站翻译成另一种语言,我只需要重定向到一个url
    • 是的。正如我的想法。这个插件不是自动翻译的。它是手动的。我做了日本网站。本网站包含日语和英语。当客户端使用日文浏览器 www.example.com 时,网站被重定向到 www.example.com/jp。当客户端使用英文浏览器 www.example.com 时,网站被重定向到 www.example.com/en。您可以在屏幕截图中看到浏览器检测语言。 ps.w.org/xili-language/assets/screenshot-4.png?rev=970404
    • 谢谢苏,但我找不到写(选择)页面以重定向到英语语言的地方。如何选择它?
    • 是的,罗西奥。您需要创建至少 2 种语言。示例 - 英语和西班牙语。然后设置默认语言。如果西班牙语是默认语言,当客户端浏览器是英语时,客户端可以看到重定向到英语。你安装,你可以做截图链接wordpress.org/plugins/xili-language/screenshots。
    猜你喜欢
    • 1970-01-01
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 2018-07-06
    • 2018-02-11
    • 1970-01-01
    相关资源
    最近更新 更多