Advertisement
Guest User

Untitled

a guest
May 6th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. <?php
  2. /**
  3. * Use this script to generate users on the fly and assign them a membership level.
  4. * Add ?pmpro_create_users=X where X is how many users you want to create.
  5. * Adjust the $level_id for which level ID you want to give to users.
  6. * Creates a user with username "user1234" for example.
  7. */
  8. function pmpro_create_my_own_users() {
  9.  
  10. if ( $_REQUEST['pmpro_create_users'] ) {
  11.  
  12. $level_id = 1;
  13.  
  14. $e = intval( $_REQUEST['pmpro_create_users'] ); // Allow to dynamically create users from query param. This is used in forloop, so use intvalue.
  15.  
  16. $i = 0;
  17. for ($i=0; $i < $e; $i++) {
  18.  
  19. $rand = rand( 0, 9999 );
  20. $username = "user" . $rand;
  21.  
  22. // Let's be fancy and do recursive functions.
  23. if ( username_exists( $username ) ) {
  24. $username = my_generate_new_username( $username );
  25. }
  26.  
  27. $user_email = $username . "@email.com";
  28.  
  29. $password = wp_generate_password( $length=12, $include_standard_special_chars=false );
  30.  
  31. $first_name = "user";
  32. $last_name = $rand;
  33.  
  34. $userdata = array(
  35. 'user_pass' => $password,
  36. 'user_login' => $username,
  37. 'user_email' => $user_email,
  38. 'first_name' => $first_name,
  39. 'last_name' => $last_name
  40. );
  41.  
  42. $user_id = wp_insert_user( $userdata );
  43.  
  44. pmpro_changeMembershipLevel( $level_id, $user_id );
  45. }
  46. }
  47. }
  48. add_action( 'init', 'pmpro_create_my_own_users' );
  49.  
  50.  
  51. function my_generate_new_username( $username ) {
  52.  
  53. if ( username_exists( $username ) ) {
  54. $rand = rand( 0, 9999 );
  55. $username = "user" . $rand;
  56. my_generate_new_username( $username );
  57. }
  58.  
  59. return $username;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement