2011-11-27 33 views
0

如何從我的WordPress主題中調用此功能。當通過Facebook登錄功能註釋日誌時,它應該被調用。wordpress從facebook登錄插件創建用戶

function myfb_do_login() { 
global $wpdb; 

// cookie 
$cookie = get_facebook_cookie(); 
// get user data 
$fbuser = get_facebook_user($cookie); 
$username = sanitize_user($fbuser->first_name); 

// put everything in nice array 
$userdata = array(
    'user_pass'  => wp_generate_password(), 
    'user_login' => $username, 
    'user_nicename' => $username, 
    'user_email' => $fbuser->email, 
    'display_name' => $fbuser->name, 
    'nickname'  => $username, 
    'first_name' => $fbuser->first_name, 
    'last_name'  => $fbuser->last_name, 
    'role'   => 'subscriber' 
); 

// create new user 
$new_user = wp_insert_user($userdata); 

// set the auth cookie to current user id 
wp_set_auth_cookie($new_user, true); 

// log the user in 
wp_set_current_user($new_user); 

// do redirect here 
wp_safe_redirect(get_permalink(). '#response'); 
} 

回答

0

,如果你手頭上有用戶信息,建立用戶數據數組它wp_insert_user,什麼用戶數據應該包含指wp_insert_user食品的通行證。

代碼示例:

//insert new user to db 
$wpuid=wp_insert_user($userdata); 
//set the auth cookie to current user id 
wp_set_auth_cookie($wpuid,true); 
//log the user in 
wp_set_current_user($wpuid); 
//do redirect here.... 
wp_safe_redirect($location); 
+0

我如何添加動作,ADD_ACTION或do_action如何?首先點擊Facebook登錄按鈕,然後在Facebook登錄後,我將從Facebook重定向到同一頁面。那麼我在哪裏調用動作 – user558134

+0

在哪裏調用該函數? – user558134

+0

不需要任何操作,只需將$ new_user = wp_insert_user($ userdata)中的代碼繼續到上面提供的內容即可。 – bingjie2680