WordPress – come importare utenti con ruoli e campi aggiuntivi da un file csv
Se c’è una cosa che non mi piace è complicarmi la vita quando le cose le so fare.
Mi avevano chiesto di usare Wp All Import e importare gli utenti da un file csv.
A me è una cosa che da abbastanza fastidio.
Ci metto molto meno tempo a crearmi uno scriptino da far girare una o più volte (quello che è necessario) e che faccia quanto richiesto. Qui infatti leggo un file CSV e mappo i campi del file, dopo di che creo o aggiorno gli utenti a seconda se l’email esiste o no.
Non mi sembra una cosa complicata.
Ecco come ho fatto.
<?php //import utenti su wp da file csv con campi aggiuntivi creati da wp members require_once('wp-blog-header.php'); $row = 1; if (($handle = fopen("utenti.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); echo "<p> $num campi alla linea $row: <br /></p>\n"; $row++; $username=$data[0]; $password='m$@H#wmG5$4bwMnw'; $email=$data[2]; $billing_city=ucwords(strtolower($data[3])); $nazione=ucwords(strtolower($data[4])); $billing_postcode=$data[5]; $nome_azienda=ucwords(strtolower($data[6])); $cat_utente=strtolower($data[7]); $is_cliente=strtolower($data[10]); $lingua=strtolower($data[11]); $role=strtolower($data[12]); $role_usare=$role.'_'.$lingua; if( !email_exists( $email ) ){ $user_id = wp_create_user( $username, $password, $email ); $oggetto_user = new WP_User($user_id); $oggetto_user->set_role($role_usare); update_user_meta($user_id, 'billing_city', $billing_city); update_user_meta($user_id, 'billing_state', $nazione); update_user_meta($user_id, 'billing_postcode', $billing_postcode); update_user_meta($user_id, 'nome_azienda', $nome_azienda); update_user_meta($user_id, 'cat_utente', $cat_utente); update_user_meta($user_id, 'check_is_cliente', $is_cliente); update_user_meta($user_id, 'lingua', $lingua); update_user_meta($userId, 'active', 1); echo 'utente '.$username.' creato<br>'; }else{ $user = get_user_by( 'email', $email ); //print_r($user ); $userId = $user->ID; $oggetto_user = new WP_User($userId); $oggetto_user->set_role($role_usare); update_user_meta($userId, 'billing_city', $billing_city); update_user_meta($userId, 'billing_state', $nazione); update_user_meta($userId, 'billing_postcode', $billing_postcode); update_user_meta($userId, 'nome_azienda', $nome_azienda); update_user_meta($userId, 'cat_utente', $cat_utente); update_user_meta($userId, 'check_is_cliente', $is_cliente); update_user_meta($userId, 'lingua', $lingua); update_user_meta($userId, 'active', 1); echo 'Utente '.$username.' già presente nel database<br>'; } } fclose($handle); } ?>
Se ti serve una personalizzazione su WordPress, contattami usando questo modulo.
Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!