✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Creazione programmatica di utenti WordPress

23

Questo post è la seconda parte di una serie su cui sto lavorando che parla dell’Associazione dei metadati di WordPress e la prima parte riguarda il processo di creazione programmatica degli  utenti di WordPress (ma sono passati cinque anni!).

Ho già parlato di farlo prima, ma le cose cambiano nel tempo man mano che acquisiamo più esperienza, giusto? E lavorando su una serie come questa, penso che aiuti avere una serie di requisiti che possiamo seguire, per lo meno, per simulare come potrebbe essere che ciò accada in un progetto reale.

Quindi, in questo particolare post, daremo un’occhiata a quanto segue:

  1. Ricezione di informazioni sull’utente in un particolare formato di dati,
  2. Identificare quali informazioni sono necessarie per creare un utente,
  3. Creazione dell’utente,
  4. Assicurarsi che il nostro codice sia all’altezza degli standard di codifica e della leggibilità.

Sembra molto, anche se non ho intenzione di rendere questo post lungo. Detto questo, se questo è qualcosa che stai cercando di imparare a pensare o come affrontare, allora eccoci qui.

Creazione di utenti WordPress

Assumiamo che qualcuno – forse un cliente o forse anche solo te stesso – come informazioni che verranno utilizzate per creare un utente. Ha bisogno almeno delle seguenti informazioni:

  1. un nome utente,
  2. una password,
  3. un indirizzo email.

Quando si tratta di creare un nome utente, tendo a preferire l’utilizzo dell’indirizzo e-mail anche come nome utente perché è qualcosa che è garantito per essere unico per quasi chiunque utilizzi l’account.

Quindi per questo tutorial, è esattamente quello che userò. Per quanto riguarda la password, parlerò momentaneamente della generazione della password.

Infine, puoi presumere che i dati che hai siano disponibili in qualsiasi forma: forse è in JSON, forse è in un CSV, forse è in un XML. In ogni caso, sta a te analizzare queste informazioni in PHP in modo da poter lavorare facilmente con le informazioni.

Per semplificare le cose per questo post, presumo che abbiamo un singolo record e avremo le informazioni disponibili in un array. Questo non significa che inizi in un array, ma significa che alla fine lo posizioniamo in un array.

1 Le informazioni dell’utente

Supponiamo di avere una persona di nome "Meghan" che aggiungeremo al sistema. Abbiamo un indirizzo e-mail e basta.

Un esempio di persona (rendering dell’artista, ovviamente 🙂

Ma va bene. Sono le ossa nude di ciò di cui abbiamo bisogno. Quindi prendiamo queste informazioni :

<?php

$user_info = array(
  'email'      => 'meghan@emaildomain.com',
  'first_name' => 'Meghan',
  'last_name'  => 'McFarlin',
);

E trasformalo in qualcosa che possiamo usare per creare un account.

2 Creazione dell’account

La prima cosa che dobbiamo fare è assicurarci che non esista già un utente per questo indirizzo email. Se lo fa, torneremo semplicemente. Potresti voler visualizzare un messaggio di impostazione o qualche altro tipo di informazione per far sapere all’utente finale che non stai creando questo account perché esiste già.

Ma questo va oltre lo scopo di questo post.

Invece, torneremo :

<?php

// Read the email address - if it's - invalid or the user exists, then return.
$email = $user_info['email'];
if (! filter_var( $email, FILTER_VALIDATE_EMAIL) || username_exists( $email)) {
  return;
}

Quindi di nuovo, supponiamo che l’utente non esista. Se non lo fa – cosa che non dovrebbe (altrimenti, non c’è motivo per questo post 😏) – allora creeremo un account per lei.

Per fare ciò, abbiamo bisogno del suo indirizzo email e di una password. Fortunatamente, generare una password è semplice:

<?php

$password = wp_generate_password( 16, false );

Quindi ora possiamo prendere l’indirizzo email e la password e creare l’account utente.

<?php

// Grab the email and create a password.
$email    = $user_info['email'];
$password = wp_generate_password( 12, false );

// Create the user and set her role.
$user_id = wp_create_user( $email, $password, $email );

// Set the user's role (and remove the previous role).
$user = new WP_User( $user_id );
$user->set_role( 'author' );

Nota nel codice sopra stiamo anche impostando il ruolo. Il modo per farlo è prima prendere un’istanza di WP_User e poi con il nostro $user_id quindi impostare il ruolo.

Creazione programmatica di utenti WordPress

Sto optando per utilizzare author, ma c’è un insieme di altri da cui puoi scegliere (o utilizzare qualsiasi cosa sia nella tua struttura dati).

3 Non c’è di più?

E con questo, il tuo utente dovrebbe essere creato. Parte di questo dipende in gran parte dall’hook che hai utilizzato, da come lo hai implementato nel tuo processo e dal modo in cui stai consentendo a un amministratore di creare account.

Questo è un argomento più avanzato che alla fine vorrei trattare in un prossimo post. Per mantenere questa serie il più diretta e snella possibile, sto cercando di rimanere il più concentrato sui passaggi fondamentali richiesti.

Tutto il resto può essere implementato o addobbato attorno a tutto ciò che è necessario secondo i requisiti del progetto.

Questa è solo la creazione di un account

Tuttavia, questa è solo l’elaborazione della creazione programmatica di utenti WordPress. In realtà, si tratta solo di creare un utente.

Per creare più utenti, si supponga di disporre di più array con informazioni attraverso le quali è possibile eseguire l’iterazione e quindi creare gli utenti. L’implementazione è la stessa anche se varia da ogni account.

Detto questo, domani mi occuperò di creare in modo programmatico i contenuti dei post in modo programmatico. E dopo, parleremo di mettere in relazione un determinato utente con il contenuto del post specificato e di cosa possiamo fare con quello (oltre al motivo per cui sarebbe importante).

Messaggi di serie

  1. Associazione di metadati di WordPress: come farlo
  2. Creazione programmatica di utenti WordPress
  3. Tipi di post di WordPress: un’astrazione per le entità
  4. Associazione di metadati di WordPress: entità correlate

Fonte di registrazione: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More