如何仅更改登录页面的语言?

时间:2012-11-15 作者:hitautodestruct

我的wordpress博客设置为de_DE.这意味着我的登录页面也显示在de_DE.

我想only 进入登录页面en_US.

所以How would I programmatically change a single page\'s language?

Note: 我有WPML,但我不想使用它,我只想在整个网站上更改一个页面。

3 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

这将需要一个插件,只需将以下内容放入一个文件中(login-languge.php) 在里面wp-content/plugins/

/*
Plugin Name:  Log-in Language
Plugin URI:   http://wordpress.stackexchange.com/questions/72692/how-do-i-change-the-language-of-only-the-login-page
Description:  Changes the language for log-in/register screens only
Author:       Stephen Harris
Author URI:   http://stephenharris.info
Version:      1.0
License:      GNU GPL 2
*/
add_action(\'plugins_loaded\', \'wpse72696_login_language_init\');

function wpse72696_login_language_init(){
    if( in_array( $GLOBALS[\'pagenow\'], array( \'wp-login.php\', \'wp-register.php\' ) ) ){
        add_filter(\'locale\', \'wpse72692_login_language\',10);
    }
}

function wpse72692_login_language( $locale ){
    return \'en_US\';
}

SO网友:Oleg Butuzov

您可以重新安装define( \'WPLANG\', \'de_DE\'); 在wp配置中。php的代码结构。

if (basename(parse_url($_SERVER[\'REQUEST_URI\'], PHP_URL_PATH)) == \'wp-login.php\'){
    define( \'WPLANG\',  \'en_US\');
} else {
    define( \'WPLANG\',  \'de_DE\');
}

SO网友:Ahmad M

另一种方法是functions.php 使用unload_textdomain($domain)

add_action(\'init\', \'remove_login_translation\');
function remove_login_translation() {
    if( in_array( $GLOBALS[\'pagenow\'], array( \'wp-login.php\', \'wp-register.php\' ) ) ) {
        unload_textdomain(\'default\');
    }
}

结束

相关推荐

如何将wp-login.php重命名为MultiSite?

我想隐藏并重命名wp-login.php 在我的URL中,用于在多站点设置上创建品牌。从这个forum post 我知道我可以改变mysite.com/wp-login.php 到mysite.com/login 通过插入RewriteRule ^login$ wp-login.php 在我的.htaccess. 我喜欢URL栏不显示登录重定向到wp登录。如果我尝试在子网站下登录mysite.com/subsite1/login 它显示为重定向自mysite.com/subsite1/wp-login