2014-02-25 71 views
0

我正在使用WordPress作爲CMS的網站(安裝在我們的服務器上,而不是WordPress.com)。我想帳戶頁面重定向到登錄頁面,如果用戶沒有登錄有該帳戶頁面(account.php)的自定義模板,並在上面我已經放在這個代碼:WordPress的重定向登錄

if(!is_user_logged_in()){ 
    wp_redirect('www.mypage.com/login'); 
    die(); 
} 

當我更新並保存account.php頁面時,我會進入WordPress儀表板並更新頁面。當我查看帳戶頁面時(通過刷新頁面或單擊「查看頁面」),它通常會首次重定向到登錄頁面。好極了!一切似乎都很好,除非我單擊帳戶鏈接時,我期望它會帶我到登錄頁面,因爲我還沒有登錄,但它將我帶到帳戶頁面...無論如何我已嘗試在InCognito模式以確保我沒有登錄。我把回聲裏面,如果聲明,它達到它就好了,所以我知道它正確地檢測到我沒有登錄。

有誰知道爲什麼它是在第一次加載時重定向,但在導航回該頁面時不會再次導向?我怎樣才能做到這一點,所以直到登錄後才能查看account.php?

回答

0

上面應該像

if(!is_user_logged_in()){ 
    wp_redirect('www.mypage.com/login'); 
    die(); 
} 

你錯過了is_user_logged_in * () *。

檢查這些布萊克斯其功能;)

+0

對不起,我寫意輸入我的帖子,我沒有在現實的交易中有語法錯誤。 –

+0

那麼它is_user_logged_in()應該完美。你的上面的代碼是100%。除非你有其他問題。它可能是你用來重定向的固定鏈接。是你的代碼在模板的頂部。請發佈您正在提取重定向網址的真實代碼。 – anstrangel0ver

+0

問題不在於user_logged_in無法正常工作,問題在於重定向工作正常,但只有一次。我不確定我是否正確表述了這一點。 –