我需要存档特定用户帐户,并使用原始存档用户名、电子邮件等创建新帐户。
我的计划是首先用修改后的user\\u登录名、电子邮件等更新当前帐户。我将旧用户名存档,通过在其上附加“archive”来显示\\u名称。在此之前,我使用了原始的user\\u登录等,并将其存储在单独的变量中,即。
$origlogin = $user_info->user_login;
然后
$archivelogin = \'archived-\' . $origlogin;
等等。。。
首先,我用新的“归档”数据更新特定用户。
$sql = "UPDATE " . $wpdb->prefix . "users SET user_login = \'" . $archivelogin . "\', display_name = \'" . $archivedisplayname . "\', user_nicename = \'" . $archivenicename . "\', user_email = \'" . $archiveemail . "\', user_url = \'\' WHERE ID = \'" . $theid . "\'";
$wpdb->query($sql);
我已经在数据库中确认它已经更新,并且user\\u登录现在是唯一的,并且与之前的原始user\\u登录不同。
但是,当我在之后的脚本中包含此内容时:
if(username_exists( $origlogin )) {
echo "it exists";
}
它打印出“它存在”,当脚本继续并尝试现在使用原始user\\u登录名($origlogin)创建新用户时,它会弹出重复的用户名错误,并且不会插入它。
这是不可能的,因为我反复检查数据库中没有重复的用户名,因为我用存档版本替换了原始用户名(在user\\u登录名后面附加了“存档”一词)。
我是否需要从记忆中清除一些东西,或者我在这里遗漏了什么步骤?