2013-03-12 42 views
-1

我正在構建一個自動完成功能,允許內部網站的用戶在帖子中標記其他wordpress用戶。我已經構建了一個ajax/jquery/php機制來執行此操作,並且在查找和檢索用戶顯示名稱方面效果很好。如何在Wordpress中從display_name提取userId?

然而,看着這個圖 - 從WordPress Codex site拍攝,似乎實際userId存儲在wp_usermeta,而不是在同一個表作爲DISPLAY_NAME(我只看到有一個ID - 是用戶ID? )。

如果這不是userID,我該如何得到它?我的sql不是很好 - 至少對於連接來說不夠好,所以,如果需要連接,我會欣賞實際的SQL代碼。

+2

的'ID'你看到'* _users'表是一樣的了'user_id' '* _usermeta'表。這就是兩張桌子相互關聯的方式。 – 2013-03-12 23:17:12

+0

我最近在wordpress.stackexchange上回答了這個問題。而不是回答:http://wordpress.stackexchange.com/questions/90512/how-we-can-get-the-user-id-by-its-display-name/90529#90529 – 2013-03-12 23:18:46

回答

1

試試這個:

$user = get_userdatabylogin('username'); 
echo $user->ID; 
+2

我真的很討厭使用折舊的東西(http://codex.wordpress.org/Function_Reference/get_userdatabylogin)... – raingod 2013-03-12 23:06:59

0

您應該使用get_user_by()功能:

$user = get_user_by('login', $user_login); // depends on what information you have available exactly 
var_dump($user); 
+0

好吧,如果我有顯示名稱,並且我找到了用戶,我似乎可以訪問幾乎所有的信息,除了userId ...所以,我認爲,根據文檔,這個函數將返回一個「用戶對象」 - 該對象是否包含userId? – raingod 2013-03-12 23:12:10

+0

@raingod根據手抄本,是的,這個ID是一個公共屬性:http://codex.wordpress.org/Class_Reference/WP_User – jeroen 2013-03-12 23:14:50

+1

'get_user_by'不與'display_name'(正如標題中提到的一樣) - 僅僅'id','slug','email'或'login'。 'slug'是user_nicename。 – 2013-03-12 23:22:34

相關問題