WordPress - 生成随机用户ID

时间:2018-04-06 09:53:15

标签: php wordpress username user-accounts userid

我希望我的WordPress用户在注册时自动分配一个随机(例如8位)用户ID,而不必选择用户名。因此,实际上,它们具有会员号而不是用户名,尽管它与使用的字段相同。

那么,我如何挂钩新用户创建功能并生成此ID?

此外,我需要替换大约1200名现有用户(目前他们没有使用网站,他们将收到一封电子邮件,其中包含他们的详细信息),并附有身份证号码。

这些项目的最佳方法是什么?

1 个答案:

答案 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 - 如果随机数已经存在则回退。

当然还有很多其他方法可以做到这一点 - 这只是一个快速思考。