使用 WordPress 登录

Facebook Login with WordPress

我已经以各种形式提出了这个问题,但 none 似乎解决了通过 Facebook API.

实际创建 WordPress 用户帐户的问题

我试图清楚地了解如何在 WordPress 网站上使用 Facebook 登录,但我不知道如何在没有密码的情况下创建用户……显然,Facebook 不会公开密码。而且我不是在寻找插件。

也许没有创建 WordPress 用户...但我看不出这有什么用,除了对博客文章发表评论等肤浅的互动。

如何使用 Facebook 登录创建 WordPress 用户?

我的假设是我需要为用户生成一个密码,他们以后可以随时更改。

通常,使用 OAuth,最后您会收到来自提供商的一些信息,例如电子邮件、用户名、ID 或其他任何信息。它因提供商而异。您必须在流程结束时检查 FB returns 是什么。基本上,这里的想法是在这一步通过 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);
}

您只需为他们生成随机密码。你不需要知道它,他们也不需要它,因为它永远不会被输入。您只需将当前用户设置为他们。如果您有任何疑问,请告诉我。