WordPress – come importare utenti con ruoli e campi aggiuntivi da un file csv

Come Limitare I Menù Di Amministrazione Wp Per Un Certo Ruolo

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.

Hai un problema con il web?

Il tuo sito internet non vuole funzionare?

Vuoi rinnovarlo o sistemarlo?

Hai un’idea di integrazione ma non sai se è possibile realizzarla o meno?

    Accetto la Privacy Policy
    Autorizzo al trattamento dei miei dati personali, per ricevere le informazioni richieste attraverso questo modulo di contatto. I dati da te inseriti attraverso questo modulo verranno utilizzati solo per essere da me ricontattato.

    Recensioni

    Scrivimi una recensione

    Questo QR Code ti permette di lasciarmi una recensione in maniera facile e veloce.

    Altrimenti qui sotto ti lascio un bottone, con il quale puoi lasciare la recensione direttamente su Google My Business.

    Lascia una recensione su Google