addon = $ultimatemember->addons['generate_random_users']; add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'generate_random_users', array(&$this, 'content') ); } function um_admin_addon_hook( $hook ) { global $ultimatemember; switch ( $hook ) { case 'generate_random_users': $json_url = "https://randomuser.me/api/"; $arr_post_header = array( ); if( isset( $_GET['gender'] ) ){ $gender = $_GET['gender']; if( $gender != 'both' ){ $json_url = add_query_arg('gender', $gender, $json_url ); $arr_post_header['gender'] = $gender; } } if( isset( $_GET['nationality'] ) ){ $nationality = implode(",", $_GET['nationality']); if( ! empty( $nationality ) ){ $json_url = add_query_arg('nat', $nationality, $json_url ); } $arr_post_header['nat'] = $nationality; } if( isset( $_GET['total_users'] ) ){ $total_users = intval( $_GET['total_users'] ); $json_url = add_query_arg('results', $total_users, $json_url ); $arr_post_header['results'] = $total_users; } $response = file_get_contents( $json_url ); $json = json_decode( $response ); if( ! empty( $json ) ){ remove_action('um_after_new_user_register', 'um_after_new_user_register', 10, 2); $failed_dummies = 0; $default_role = um_get_option("default_role"); foreach( $json->results as $dummy ){ if( isset( $_GET['password'] ) && ! empty( $_GET['password'] ) ){ $password = $_GET['password']; }else{ $password = wp_generate_password( 8, false ); } $site_url = @$_SERVER['SERVER_NAME']; $random_generate = wp_generate_password( 4, false ); if( username_exists( $dummy->login->username ) ){ $dummy->login->username = $dummy->login->username.'_'. $random_generate; } $dummy->login->email = $dummy->login->username."_dummy@{$site_url}"; if( email_exists( $dummy->login->email ) ){ $dummy->login->email = $dummy->login->username."_dummy_{$random_generate}@{$site_url}"; } $userdata = array( 'display_name' => ucfirst( $dummy->name->first )." ".ucfirst( $dummy->name->last ), 'first_name' => ucfirst( $dummy->name->first ), 'last_name' => ucfirst( $dummy->name->last ), 'user_email' => $dummy->login->email, 'user_login' => $dummy->login->username, 'user_pass' => $password, ); $user_id = wp_insert_user( $userdata ); if( is_wp_error( $user_id ) ){ $failed_dummies++; } $usermeta = array( 'synced_profile_photo' => $dummy->picture->large, 'gender' => ucfirst($dummy->gender), 'birth_date' => date("Y/m/d", strtotime( $dummy->dob) ), '_um_last_login' => date("Y/m/d", strtotime( $dummy->registered ) ), 'mobile_number' => $dummy->cell, 'phone_number' => $dummy->phone, 'synced_gravatar_hashed_id' => md5( strtolower( trim( $dummy->email ) ) ), 'account_status' => 'approved', '_um_profile_dummy' => true, 'role' => isset( $default_role ) ? $default_role: 'member' ); if( isset( $_GET['add_cover_photo'] ) && $_GET['add_cover_photo'] == 1 ){ $rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); $color = $rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)]; $usermeta['synced_cover_photo'] = 'http://placehold.it/650x350/'.$color.'/'.$color; } foreach ( $usermeta as $key => $value ) { update_user_meta( $user_id, $key, $value ); } } wp_redirect( admin_url("admin.php?page=generate_random_users") ); exit; } break; case 'remove_random_users': $dummies = new WP_User_Query( array( 'fields' => array('ID'), 'meta_key' => '_um_profile_dummy', 'meta_value' => true, 'meta_compare' => '=' ) ); if( $dummies->total_users > 0 ){ foreach ( $dummies->get_results() as $dummy ) { if( isset( $dummy->ID ) ){ wp_delete_user( $dummy->ID ); } } } delete_option('um_generated_dumies'); wp_redirect( admin_url("admin.php?page=generate_random_users") ); exit; break; default: break; } } function admin_init() { if ( isset( $_REQUEST['um-addon-hook'] ) ) { $hook = $_REQUEST['um-addon-hook']; do_action("um_admin_addon_hook", $hook ); } } function content() { ?>
This tool allows you to add dummies as Ultimate Member users.
array('ID'), 'meta_key' => '_um_profile_dummy', 'meta_value' => true, 'meta_compare' => '=' ) ); ?> total_users > 0 ): ?>