2013-01-15 21 views
0

登錄我明白,我可以選擇顯示/隱藏頁面使用以下登錄的用戶:顯示頁面WordPress的導航取決於誰在

<? 
if (is_user_logged_in()) { 
<li><a href="#">Link Title</a></li> 
} 
?> 

但是,它可以顯示一個頁面只對某個用戶?例如,我想「約翰」看到一個頁面,但不是「鮑勃」,所以我可以做類似:

<? 
if (is_John_logged_in()) { 
<li><a href="#">Link Title</a></li> 
} 
?> 

任何意見將是輝煌!

回答

2

可以使用函數get_currentuserinfo();來檢索有關當前記錄的用戶的信息。

global $current_user; 
    get_currentuserinfo(); 

    echo 'Username: ' . $current_user->user_login . "\n"; 
    echo 'User email: ' . $current_user->user_email . "\n"; 
    echo 'User first name: ' . $current_user->user_firstname . "\n"; 
    echo 'User last name: ' . $current_user->user_lastname . "\n"; 
    echo 'User display name: ' . $current_user->display_name . "\n"; 
    echo 'User ID: ' . $current_user->ID . "\n"; 
0

您可以使用get_current_user_id來獲取當前登錄的用戶的ID。

如果是0,這意味着沒有人登錄

這是一個數值(所以如果用戶更改他們的用戶名,它仍然可以工作)

所以,一個例子:

<? 
    if (get_current_user_id() ==123) { 
    <li><a href="#">Link Title</a></li> 
    } 
?> 

一個更易於維護的辦法,也許這樣做基於角色(管理員,編輯器等)
只是一個想法,但

+0

我試過這個,但我得到:HTTP錯誤500(內部服務器錯誤):服務器試圖完成請求時遇到意外的情況。 - 有任何想法嗎? – RuFFCuT

0

get_currentuserinfo可以幫助你......它有登錄用戶當前的所有信息...

if ($current_user->user_login == 'reigel') { 
    // do something... 
} 

只是檢查鏈接瞭解更多信息..

+0

我試過這個,但也得到:HTTP錯誤500(內部服務器錯誤):服務器試圖完成請求時遇到意外情況。 - 有任何想法嗎? – RuFFCuT

+0

HTTP錯誤500(內部服務器錯誤)很可能是'.htaccess'上的一個問題。當我在godaddy上新手時,我得到了很多... – Reigel