我使用这个php来重定向http服务器语言上的语言,而不是使用apache
$langs=explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
if(!is_array($langs))$langs=array($langs);
foreach($langs as $l){
$reallang=(strlen($l)>2)?strtolower(substr($l,0,2)):strtolower($l);
if(!class_exists('WPGlobus'))break;
$currentlanguage=WPGlobus::Config()->language;
/*echo "Testing browser lang $reallang<br>Current language is $currentlanguage<br>";*/ //DEBUG
if($reallang==$currentlanguage)break;
foreach(WPGlobus::Config()->enabled_languages as $lang) {
if($lang==$reallang)header("Location: ".WPGlobus_Utils::localize_current_url($lang));
}
}
现在的问题是,我不能访问我的管理面板,因为它改变了网址。我怎么能把这个设置成只在前端工作呢?
最佳答案
在运行代码之前检查is_admin()
和! defined( 'DOING_AJAX' )
。那你就确定你不在管理区了。