0

Я хочу, чтобы эти вопросы задавались в различных формах, но ни один из них не затрагивает фактическое создание учетной записи пользователя WordPress через API Facebook.Facebook Войти с WordPress

Я пытаюсь понять, как можно использовать Facebook Login на сайте WordPress, но я не вижу, как Пользователь может быть создан без пароля ... который, по-видимому, не будет раскрывать Facebook. И я не ищу плагин.

Возможно, WordPress не создан ... но я не вижу, как это полезно, другие поверхностные взаимодействия, такие как комментарии к сообщениям в блоге.

Как я могу создать пользователя WordPress с помощью Facebook Login?

Мое предположение заключается в том, что мне нужно будет создать пароль для пользователя, который они могут изменить в любое время в будущем.

ответ

2

Как правило, с помощью OAuth в конце вы получите информацию от поставщика, такую ​​как электронная почта, имя пользователя, идентификатор или что-то еще. Он зависит от поставщика. Вам нужно будет проверить, что возвращает 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