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