2010-03-01 10 views
0
의 라인 1에 header.php에

나는 브라우저 언어를 기반으로 사용자를 리디렉션하려면 다음 코드를 사용하고 있습니다 : 내가 전에 처음에 내 워드 프레스 테마에 코드를 넣어예상치 못한 '{'워드 프레스

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"); 
    } 
}

DOCTYPE에 오류가 발생했습니다 : 줄 1의 header.php에서 예기치 않은 '{'가 발생했습니다. 원인을 파악할 수 없습니다.

관련 : How to redirect users based on browser language

답변

2

당신이 당신의 header.php의 코드를 제공 주시겠습니까? 게시물을 통해 코드 1 행의 위치를 ​​알려주지 않습니다.

WordPress는 개발자가 php에서와 같이 header()를 보내는 대신 wp_redirect() 함수를 사용하여 다른 리소스로 리디렉션하도록 권장합니다. 사용을 참조하십시오

: http://codex.wordpress.org/Function_Reference/wp_redirect

관련 : 프레임 워크 내에서 유지하는 방법을 보여주는 심지어 해당 문서를 연결하기위한 http://wordpressapi.com/solved-header-function-issue-wordpress

+0

+1. –

+0

헤더 대신 wp_redirect를 사용하려고 시도하지만 리디렉션이 너무 많아 페이지를 열 수 있습니다. 여기 내 헤더는 다음과 같습니다 경우 (!의는 isset ($ _ SESSION [ 'LANG'])) { \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 $ _SESSION [ 'lang'] = '기타'; \t \t \t \t wp_redirect ("http://cn.gearor.com"); \t} } – Zack