2010-03-01 39 views
0
1號線的header.php

我使用下面的代碼基於瀏覽器的語言將用戶重定向:意外「{」在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,我得到了一個錯誤:在第1行的header.php中出現了意外的'{'。我無法弄清楚是什麼導致了這種情況。

相關:How to redirect users based on browser language

回答

2

能否請您提供您的header.php的代碼?您的帖子不會告訴我們在哪裏查找代碼的第1行。

Wordpress鼓勵開發人員使用函數wp_redirect()重定向到其他資源,而不是像在php中那樣發送header()。

有關使用方法見: http://codex.wordpress.org/Function_Reference/wp_redirect

相關: http://wordpressapi.com/solved-header-function-issue-wordpress

+0

+1顯示如何留在骨架內部,甚至鏈接到相應的文檔。 – 2010-03-01 11:56:46

+0

我只是嘗試使用wp_redirect而不是標題,但是由於太多重定向,我可以打開頁面。這裏是我的頭: 如果(!isset($ _ 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 [ '郎'] = '其他'; \t \t \t \t wp_redirect(「http://cn.gearor.com」); \t} } – Zack 2010-03-01 12:12:06