2010-03-01 2 views
0

Я использую следующий код для перенаправления пользователей на основе языка браузера:неожиданного «{» в header.php на линии 1 WordPress

if(!isset($_SESSION['lang'])){ 
    if(preg_match('/en-US/', $_SERVER['HTTP_USER_AGENT'])){ 
    $_SESSION['lang'] = 'en'; 
    header("location:index.php"); 
    }else{ 
    $_SESSION['lang'] = 'other'; 
    header("location:http://cn.gearor.com"); 
    } 
}

я поставил код в моей теме WordPress, в самом начале, до DOCTYPE, и я получил сообщение об ошибке: неожиданно '{' в header.php в строке 1. Я не могу понять, что вызывает это.

Похожие: How to redirect users based on browser language

ответ

2

Можете ли вы поставить код вашего header.php? Ваше сообщение не сообщает нам, где найти строку 1 вашего кода.

Wordpress рекомендует разработчикам использовать функцию wp_redirect() для перенаправления на другие ресурсы вместо отправки заголовка(), как вы делали бы в php.

Для использования смотрите: http://codex.wordpress.org/Function_Reference/wp_redirect

Похожие: http://wordpressapi.com/solved-header-function-issue-wordpress

+0

+1 для показа, как оставаться в рамках и даже ссылки на соответствующую документацию. –

+0

Я просто пытаюсь использовать wp_redirect вместо заголовка, но я могу открыть страницу из-за слишком большого перенаправления. Вот мой заголовок: если (! Исеть ($ _ SESSION [ 'языки'])) { \t если (preg_match ('/ EN-US /', $ _SERVER [ 'HTTP_USER_AGENT'])) \t { \t \t $ _SESSION ['lang'] = 'en'; \t \t \t \t wp_redirect ("http://gearor.com"); \t} еще {\t \t \t \t \t $ _SESSION [ 'язык'] = 'Other'; \t \t \t \t wp_redirect ("http://cn.gearor.com"); \t} } – Zack

Смежные вопросы