2017-04-27 227 views
0

我有一個建立在純php上的網站,但同時數據庫與博客網站(wordpress)共享。在我的PHP網站中,我通過./wp-load.php加載wordpress。在這種情況下,wordpress中加載的所有內容都可以加載到php站點中。我可以檢索一切,但我似乎無法獲取/檢索該ID。如何從WordPress登錄名或用戶名獲取用戶ID

我想檢索ID的原因是在php網站上顯示用戶描述,因爲描述元數據僅從wordpress端保存。 以下是我試圖檢索ID的方法。雖然在很多方面嘗試過幾次,但沒有通過。

$u = $page_username; 

echo $u; //here it retrieves the page owner username/ login name 

$user = get_user_by('login','$u');// here is the failure. If I directly put username instead of variable $u, I can echo the ID. 

if($user) 
{ 
echo $user->ID; 
} 

我不知道問題出在哪裏,但如果我可以重複的用戶名,爲什麼不ID?..或者,如果我可以直接把用戶名,爲什麼不從變量獲取ID?

最終的結果我想得到的是這樣的:

$u = $page_username;//this displays the current username 

$user_id = $u->ID; 

echo get_user_meta ($user_id, 'description' , true)// If I directly put user Id, I can retrieve the user description.. 

注意:如果有一種方法,通過簡單的使用用戶名/ USER_LOGIN檢索用戶的元數據,然後解決檢索user_id是不是需要。我可以直接通過簡單地使用已經存在的user_login來檢索usermeta ..

我希望wordpress大師能夠幫助我解決這個問題..我對wordpress很新,所以要花很多時間才能完成到一個簡單的功能或這些鉤和所有..

+0

$ user = get_user_by('login',$ u);而不是$ user = get_user_by('login','$ u'); – Afzal

+0

它們都不是解決方案。我已經嘗試過他們..我需要看看我是否可以獲取用戶元數據而不檢索ID ..是否有可能? –

回答

0

可以使用此

if (!function_exists('get_user_by')) { 
      require_once ABSPATH . WPINC . '/pluggable.php'; 
     } 
    $user = get_user_by('login','$u');// here is the failure. If I directly put username instead of variable $u, I can echo the ID. 

    if($user) 
    { 
    echo $user->ID; 
    } 
+0

由於我加載了wp-core.php,所以我想我不需要再次加載pluggable.php ..雖然嘗試過,但它沒有區別..我們可以獲取用戶元數據而不需要實際檢索ID嗎?與user_login /用戶名? –

0

用戶執行以下操作:

$用戶= wp_get_current_user();

echo $ user-> roles [0];

+0

它不會工作..如何通過單獨使用用戶名或user_login獲取用戶元數據? wp可能嗎? –