我希望我的WordPress用户在注册时自动分配一个随机(例如8位)用户ID,而不必选择用户名。因此,实际上,它们具有会员号而不是用户名,尽管它与使用的字段相同。
那么,我如何挂钩新用户创建功能并生成此ID?
此外,我需要替换大约1200名现有用户(目前他们没有使用网站,他们将收到一封电子邮件,其中包含他们的详细信息),并附有身份证号码。
这些项目的最佳方法是什么?
答案 0 :(得分:1)
关于目前的1200位用户
您可以创建一个功能,这样做甚至更好 - 创建一个插件,其中包含一个触发其功能的按钮。
一个开始可能是:
<?php $users = get_users();
foreach($users as $user){
$user_id = $user->ID;
$randomInterger = rand(10000000,99999999);
$user_data = get_user_by( 'user_login', (string)$randomInterger ); // return WP_User object otherwise return false if not found
if ( empty( $user_data ) ) {
//User not exits with this login - therefore we can use it
$user_id = wp_update_user( array( 'ID' => $user_id, 'user_login' => (string)$randomInterger ) );
if ( is_wp_error( $user_id ) ) {
// There was an error, probably that user doesn't exist.
} else {
// Success!
}
} else {
//Generate a new number, since this one has already been used.
}
}
现在这只是一个想法 - 您需要一种方法来初始化它,并确保每次页面加载时都不会触发它:-D - 如果随机数已经存在则回退。
当然还有很多其他方法可以做到这一点 - 这只是一个快速思考。