【问题标题】:Wordpress: get page language in javascriptWordpress:在 javascript 中获取页面语言
【发布时间】:2020-05-05 11:59:45
【问题描述】:

如何在 Javascript 中获取 Wordpress 页面的语言?

我找到了一种检查西班牙语的方法:

if(window.location.href.indexOf("/es/") > -1) {

但如果网站没有带有“帖子名称”的固定链接设置,则语言首选项将在 URL 中使用 ?lang=es

而且,例如,Wordpress 语言偏好可以是“en-uk”吗?

【问题讨论】:

  • 您是否使用了该语言的插件?
  • 我想要一种适用于任何 Wordpress 设置的 JavaScript 方式。
  • 我想,但这不是问题所在。您可以使用 wp_localize_script 将 WordPress 中的语言(和其他设置)输出到文档中的 <script> 文件中。
  • 这是一个`wp_localize_script` PHP函数,我正在寻找一种Javascript方式。
  • 是的,它会在您的文档中输出带有 PHP 值的 JavaScript。喜欢语言的价值。然后您可以通过访问该值来签入 JavaScript。

标签: javascript wordpress location


【解决方案1】:

我对 wordpress 不是很熟悉,但通常语言是在域名之后或作为 url 参数设置的。下面的函数处理这两种情况。

// tested with the following urls:
// url = 'domain.com/sdfsdf/dafsfd?lang=es';
// url = 'domain.com/sdfsdf/dafsfd?lang=es&sdfsf=dfsdf';
// url = 'domain.com/en-uk';
// url = 'domain.com/en-uk/';
// url = 'domain.com/en-uk?dfsdfsdf=dfsdf&sdfsfsdf=dfsdfs';

var url = window.location.href;
var lang = getLanguage(url);
console.log(lang);

function getLanguage(url) {
    // if language is set via url parameter
    if (url.includes('?lang=')) {
        return url.split('?lang=')[1].split('&')[0];
    }
    // if language is set via url route
    else {
        return url.split('/')[1].split('?')[0];
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 2014-05-01
    • 2017-02-27
    • 1970-01-01
    • 2019-01-10
    相关资源
    最近更新 更多