如标题中所示,如何以编程方式更改用户的登录名?
我想使用wp_insert_user
功能,但似乎在更新当前用户时,它不会更改其用户名。我应该用$wpdb->update
那个吗?如果是,更改用户名的代码将如何?鉴于WordPress API不允许更改用户名,更改用户登录会有什么后果?
如标题中所示,如何以编程方式更改用户的登录名?
我想使用wp_insert_user
功能,但似乎在更新当前用户时,它不会更改其用户名。我应该用$wpdb->update
那个吗?如果是,更改用户名的代码将如何?鉴于WordPress API不允许更改用户名,更改用户登录会有什么后果?
Answers:
我确定该wp_update_user
函数应该执行此操作(http://codex.wordpress.org/Function_Reference/wp_update_user)。
甚至将user_login用作参数,但是当您设置此参数时,它似乎忽略了它。
因此,这段代码看起来不错,但是却不能如您所愿:::
wp_update_user( array ( 'ID' => $user_id, 'user_login' => $new_login ) ) ;
您必须调用自定义SQL查询来更新user_login:
$wpdb->update($wpdb->users, array('user_login' => $new_user_login), array('ID' => $user_id));
它可以正常工作,我认为它不会带来任何严重后果,因为WP使用用户ID向用户分配帖子/评论(等等)。
我唯一想到的问题是,当该用户当前登录时,将在user_login更改后注销。
您可能还考虑通过SQL查询更改user_nicename。完成此操作后,所有永久链接和其他功能将正常运行。