2013-02-03 77 views
1

我目前在一個站點內設置了兩個成員區域。如果用戶登錄,然後決定瀏覽一般網站,當他們再次點擊「會員區域」圖標時,我希望該頁面確定哪個用戶已登錄,然後將其重定向到正確的成員區。如果沒有用戶登錄,它應該顯示登錄表單。如果特定用戶已經登錄,Wordpress重新指向

目前,我有以下幾點:

<?php 
if ($session->logged_in) { 
    if ($username == "user1") { 
     wp_redirect (home_url("/members-area-1")); 
     exit; } 
    } elseif ($username == "user2") { 
     wp_redirect (home_url("/members-area-2")); 
     exit; 
    } else {  
?> 

目前它並不重新定向,它只是顯示的登錄表單不管我登錄作爲用戶。有關如何使其正確工作的任何建議?

(溫柔,我還是比較原始,當涉及到WordPress和PHP開發)

非常感謝,

回答

2

你可以試試這個

if (is_user_logged_in()) 
{ 
    global $current_user; 
    if($current_user->user_login == 'user1') 
    { 
     wp_redirect(home_url("/members-area-1")); 
    } 
    elseif($current_user->user_login == 'user2') 
    { 
     wp_redirect(home_url("/members-area-2")); 
    } 
    else 
    { 
     // logged in but doesn't match 
    } 
} 

在抄本見is user logged in()

更新:爲了解決這個標題發送警告的問題,你可以在你的functions.php文件中添加以下代碼,以使輸出緩衝

add_action('init', 'buffer_start'); 
add_action('wp_footer', 'buffer_end'); 

function callback($buffer) { return $buffer; } // This is not necessury if you don't use callback argument in the ob_start function. 
function buffer_start() { ob_start("callback"); } 
function buffer_end() { ob_end_flush(); } 
+0

此非常感謝。我已經實現了,但我現在運行在'警告:不能修改標題信息 - 標題已經發送...'的問題,但希望一旦我解決了,我將啓動並運行。 –

+1

你先生,是一個紳士。這已經很好地解決了這個問題,非常感謝。 –

+0

@DwightSchrute,非常歡迎你親愛的:-) –

相關問題