Come creare utenti WordPress in modo programmatico

Pubblicato: 2021-10-23

Stai cercando modi alternativi per creare utenti che non coinvolgano la dashboard di amministrazione? Se è così, questo post è per te. In questa guida, ti mostreremo come creare un utente WordPress in modo programmatico insieme a script di esempio che puoi utilizzare sul tuo sito.

Al giorno d'oggi, la maggior parte dei siti Web consente ai visitatori di creare un account e diventare utenti registrati per ottenere determinati vantaggi come offerte e sconti esclusivi.

Quando un nuovo utente si registra, il sito raccoglie informazioni sul profilo e assegna un ruolo a quell'utente. Questi ruoli consentono di impostare autorizzazioni diverse per ciascun utente, come l'accesso ad alcuni contenuti riservati, la visualizzazione di un menu di navigazione specifico per ciascun ruolo, l'accesso a determinate offerte e così via.

WordPress ti consente di gestire diversi tipi di utenti e fornisce funzionalità complete di gestione degli utenti. Utilizzando i ruoli multipli disponibili per impostazione predefinita, puoi creare, aggiornare ed eliminare utenti e assegnare autorizzazioni diverse a ciascuno. Questo è utile per alcuni siti Web, ma se desideri una soluzione più complessa per gestire diversi tipi di autorizzazioni, potresti dover creare utenti WordPress a livello di codice.

Diamo un'occhiata a come puoi farlo.

Come creare un utente WordPress in modo programmatico

Per creare utenti in modo programmatico, puoi sfruttare alcune delle funzioni integrate di WordPress. In tutti i casi, gli unici valori richiesti sono nome e password.

Una volta creato un utente, WordPress può inviare un'e-mail per completare la registrazione dalla sua casella di posta. Anche se l'utente conosce già le credenziali di accesso, è sempre una buona idea inviare e-mail di registrazione utente per alcuni motivi:

  • Assicurati che l'e-mail che hanno fornito sia corretta e non contenga errori di battitura
  • Gli utenti possono tornare a quell'e-mail nel caso in cui dimentichino il proprio utente o password

Durante la creazione degli utenti, puoi assegnare una password, un nome e un ruolo. Successivamente, gli utenti possono modificare e aggiornare qualsiasi di questi dettagli, nonché tutte le informazioni sui loro profili.

Ora che abbiamo un'idea chiara di cosa puoi fare, diamo un'occhiata ad alcuni script di esempio che ti permetteranno di creare utenti in diversi modi.

NOTA : poiché modificheremo alcuni file principali, prima di iniziare, ti consigliamo di generare un backup completo del tuo sito. Inoltre, ti consigliamo di creare un tema figlio o di utilizzare un plug-in tema figlio se non ne stai già utilizzando uno.

Script di esempio per creare utenti WordPress con codice

In questa sezione, ti mostreremo diversi script che puoi utilizzare per creare utenti sul tuo sito in modo programmatico. Troverai gli script e una spiegazione di cosa fa ogni sezione del codice.

Crea un singolo utente

La creazione di un utente WordPress a livello di codice è abbastanza semplice e richiede solo una singola riga di codice. Gli unici valori richiesti sono nome e password e puoi anche impostare la password usando la funzione wp_create_user() come segue:

 wp_create_user( 'johndoe', 'passwordgoeshere', '[email protetta]');

Incolla questa riga di codice nel file functions.php del tuo tema figlio per creare un utente chiamato johndoe .

Come creare un utente WordPress in modo programmatico

Inoltre, possiamo fare alcune altre cose per migliorare il codice sopra. Ad esempio, per impedire la creazione dell'utente durante la navigazione nelle pagine di back-end o il ricaricamento dello schermo, è necessario utilizzare un hook. Il nuovo codice sarà simile a questo:

 add_action('admin_init','QuadLayers_create_user');
funzione QuadLayers_create_user(){
  wp_create_user( 'johndoe', 'passwordffgoeshere', '[email protetta]');
}

Se non hai dimestichezza con gli ami, ti consigliamo di dare un'occhiata alla nostra Guida agli ami.

Crea più utenti

Invece di ripetere più volte la funzione precedente, esiste un modo più efficiente per creare più utenti contemporaneamente.

La seguente funzione creerà utenti da un determinato array, in cui sono archiviati nomi e password.

 add_action('admin_init','QuadLayers_create_users');
funzione QuadLayers_create_users(){
    $utenti=array(
       array('johndoe','la password1'),
       array('todoe','la password2'),
       array('andrewdoe','la password3'),
       array('jeffdoe','la password4')
    );
    foreach($utenti come $utente){     
       wp_create_user($utente[0], $utente[1]);
    }    
}

Per ottenere ciò, utilizziamo un ciclo foreach() per creare i quattro utenti archiviati nell'array $users .

Come creare più utenti wordpress

In questo esempio, abbiamo creato quattro utenti ma puoi crearne quanti ne vuoi. Basta aggiungerli all'array e assegnare loro un nome e una password.

Crea un utente e invia un'e-mail

Ora vediamo come creare un utente, generare una password e inviarla a una determinata email con un po' di codice.

Nello script seguente, utilizziamo due nuove funzioni:

  1. wp_generate_password() per generare una password
  2. wp_mail() per inviare l'e-mail di registrazione al destinatario
 add_action('admin_init','QuadLayers_create_user_send_mail');
funzione QuadLayers_create_user_send_mail(){
    $password=wp_generate_password( 12, vero);
    wp_create_user('joedoe',$password);
    wp_mail( '[email protected]', 'Benvenuto!', 'La tua password è: ' . $password );  
}

Questo codice creerà un utente WordPress in modo programmatico, genererà una password e invierà un'e-mail a [email protected] che dice "Benvenuto! La tua password è “ . Assicurati di personalizzare l'utente, l'e-mail e il messaggio quando lo usi sul tuo sito.

Crea utente e assegna i dati dell'account

In questo esempio, stiamo creando un utente con informazioni allegate come nome, cognome e ruolo.

Si noti che qui utilizziamo una funzione diversa. Invece della funzione wp_create_user() , utilizziamo wp_insert_user() che è simile ma più flessibile e potente.

 add_action('admin_init','QuadLayers_create_user_meta');
funzione QuadLayers_create_user_meta(){   
wp_insert_user( array(
  'user_login' => 'janedoe',
  'user_pass' => 'passwordqui',
  'user_email' => '[email protetta]',
  'first_name' => 'Jane',
  'last_name' => 'Doe',
  'display_name' => 'Jane Doe',
  'ruolo' => 'editore'
));
}

Come puoi vedere, in questo esempio stiamo creando un utente e assegnando un nome (Jane), cognome (Doe), email ( [email protected]) , ruolo ( editor ) e così via.

Verificare se l'utente esiste

Questo script è per la convalida ed è utile nella maggior parte dei casi, quindi ti consigliamo di applicarlo al tuo codice.

Ecco come puoi verificare se un utente esiste da un nome utente (janedoe in questo esempio) usando la funzione username_exists() .

 add_action('admin_init','QuadLayers_if_user_exists');
funzione QuadLayers_if_user_exists(){
    if( null == username_exists( 'janedoe' ) ) {
       echo "non un utente esistente";// Fai qualcosa per un utente inesistente
    }
    altro{
           echo "Utente esistente"; // Fai qualcosa se il nome utente esiste
    }
}

Questo script contrassegna gli utenti con due testi diversi a seconda che esistano o meno:

  • Utenti che non esistono: “non un utente esistente”
  • Utenti esistenti: “Utente esistente”

Conclusione

Tutto sommato, WordPress è dotato di funzionalità per creare, gestire ed eliminare diversi tipi di utenti. Anche se questo può essere sufficiente per la maggior parte dei siti Web, se desideri avere più opzioni ed essere in grado di gestire più autorizzazioni, è una buona idea creare utenti utilizzando un po' di codice.

In questa guida abbiamo visto come creare un utente WordPress in modo programmatico e diversi esempi per rendere il processo più efficiente. Abbiamo visto come creare più utenti contemporaneamente, come inviare loro un'e-mail automaticamente e assegnare loro dati. Infine, abbiamo aggiunto la convalida per verificare se l'utente esiste già o meno. Ora è il momento di personalizzare questi script e di utilizzarli sul tuo sito!

Hai aggiunto utenti al tuo sito utilizzando questi script? Come li hai personalizzati? Fateci sapere nei commenti qui sotto!

Per ulteriori opzioni per migliorare il tuo sito con un po' di codice, dai un'occhiata alle seguenti guide:

  • Come creare un tipo di post personalizzato WordPress in modo programmatico
  • Guida per creare post e pagine in modo programmatico in WordPress
  • Come modificare automaticamente lo stato dell'ordine in WooCommerce