手动设置ID时,WP_INSERT_USER未正确创建帐户

时间:2013-09-25 作者:Jared Eitnier

因此,我正在尝试创建一个新的用户帐户wp_insert_user 基于我从Facebook用户档案中收到的凭证。我希望新用户帐户ID等于Facebook帐户ID(例如:1352348133)。

如果我设置ID 参数根据Wordpress wp_insert_user reference page 未在中创建用户帐户wp_users 然而,正如我所料,所有相关的元数据都插入到wp_usermeta 桌子如果我删除ID 我传递到的数组中的参数wp_insert_user 它在中创建新记录wp_users 就像平常一样。

我本来希望得到一个返回错误,但它实际上会在成功时返回新创建的用户ID。下面是我正在传递的代码示例:

$insert_user = wp_insert_user(array(
    \'ID\'              => 1352348133,
    \'user_login\'      => \'jdizzle\',
    \'user_nicename\'   => \'jdizzle\',
    \'user_url\'        => \'https://www.facebook.com/jdizzle\',
    \'first_name\'      => \'Jared\',
    \'last_name\'       => \'Eitnier\',
    \'display_name\'    => \'Jared Eitnier\',
    \'nickname\'        => \'jdizzle\',
    \'user_registered\' => date(\'Y-m-d H:i:s\'),
    \'role\'            => \'customer\'
));
和返回值

1352348133
我想也许auto_incrementID 字段输入wp_users 可能会影响某些东西,但禁用该功能没有效果。类型转换为int 没有效果。int的长度不是问题。

1 个回复
最合适的回答,由SO网友:cybmeta 整理而成

符合Wordpress documentation, 如果将用户ID传递给wp_insert_user() 函数,它将尝试使用该ID修改用户(如果存在),但不会创建新用户。您应该将facebook ID存储为user\\u meta。

结束

相关推荐

How many databases do I need?

我被要求为其他人建立另一个网站。最终,我会把它交给他们。我将在本地开发它,然后现场使用,然后移交完全控制权。同时,我需要一个数据库供WP使用。我是将新网站连接到我个人网站已有的现有数据库中,还是每个网站都有一个数据库?我不想把我的数据库和别人的数据库一起导出。