0

我認爲這個問題已經以各種形式被提出,但似乎沒有人能夠通過Facebook API實際創建一個WordPress用戶帳戶。Facebook登錄使用WordPress

我試圖清楚地理解一個人如何在一個WordPress站點上使用Facebook登錄,但我沒有看到如何創建一個沒有密碼的用戶...... Facebook顯然不會公開。而且我不是在尋找一個插件。

也許是一個WordPress用戶沒有創建......但我不明白這是如何有用的,除了表面上的互動喜歡評論博客文章。

如何使用Facebook登錄創建WordPress用戶?

我的假設是我需要爲用戶生成一個密碼,他們可以在將來隨時更改密碼。

回答

2

通常,使用OAuth,最終您會從提供商處收到一些信息,例如電子郵件,用戶名,ID或其他信息。它因供應商而異。您將不得不在流程結束時檢查FB返回的結果。基本上,這裏的想法是通過FB ID(您可以將其存儲爲用戶元)在此步驟中搜索數據庫中的用戶。如果發現用戶,您只需登錄他們在這樣

wp_set_current_user($wp_user_id); 
if (wp_validate_auth_cookie() == FALSE) 
{ 
    wp_set_auth_cookie($wp_user_id, true, false); 
} 

如果未找到用戶,爲他們創建一個新用戶

$userid = wp_insert_user(array('user_login' => $user_login, 
    'user_email' => $user_email, 
    //whatever other fields you need 
    'display_name' => $user_name, 
    'user_pass' => wp_generate_password(), 
    'role' => 'subscriber', 
)); 
update_user_meta($userid, '_fb_id', $fb_id); 

wp_set_current_user($userid); 
if (wp_validate_auth_cookie() == FALSE) 
{ 
    wp_set_auth_cookie($userid, true, false); 
} 

你只需爲他們生成隨機密碼。你不需要知道它,也不需要它,因爲它永遠不會被輸入。您只需將當前用戶設置爲他們即可。如果您有任何問題,請告訴我。

+0

這是非常有用的,正是我所需要的。非常感謝,伊戈爾! – dcolumbus