0

我已经以各种形式提出了这个问题,但似乎没有一个解决通过 Facebook API 实际创建 WordPress 用户帐户的问题。

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

也许没有创建 WordPress 用户……但我看不出这有什么用,除了像评论博客文章这样的肤浅交互。

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

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

4

1 回答 1

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);
}

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

于 2016-12-05T19:57:26.270 回答