Wordpress 4:WPLANG已弃用。如何以编程方式更改语言?

时间:2014-12-07 19:17:15

标签: php wordpress-4.0

由于WPLANG在Wordpress 4中已弃用,您使用什么来设置用户选择的语言? 在版本3.xx中,我使用 define(' WPLANG',$ lang) 来设置语言,然后在页面上可以使用 get_locale() 即可。我需要使用这种方法来区分不同语言的内容。我知道可以在Settings-> General中更改语言,但我需要以编程方式进行更改。

由于

3 个答案:

答案 0 :(得分:3)

使用WordPress 4.0,来自WPLANG的定义wp-config.php是 - 正如您所提到的 - 折旧。它已被表WPLANG中存储的名为<TablePrefix>_options的选项所取代。

您可以使用get_option()来访问它:

$my = get_option('WPLANG','en_US');

有关更改的更多详细信息,请参见here

答案 1 :(得分:2)

我找到了一个适合我的解决方案。而不是使用 define('WPLANG',$ _SESSION ['WPLANG']); 我使用 $ locale = $ _SESSION ['WPLANG'] ;

答案 2 :(得分:0)

不是使用全局变量或常量,而是可以使用过滤器locale来动态调整值。对未来版本而言,这也会更加失败。

add_filter( 'locale', function( $default_locale ) {
    if ( isset( $_SESSION[ 'WPLANG' ] ) )
        return $_SESSION[ 'WPLANG' ];

    return $default_locale;
} );

顺便说一下,WPLANG作为会话中的密钥可能会导致命名冲突问题。请记住,其他WordPress插件也可以使用全局会话。