Comprendere e lavorare con i dati dell'utente in WordPress

WordPress memorizza i dati dell'utente nel file wp_users tabella, che è collegata al wp_posts e wp_comments tabelle:

WordPress memorizza anche i dati dell'utente in altre due tabelle:

  • Ulteriori metadati sugli utenti sono memorizzati nel wp_usermeta tavolo
  • I dati sui commentatori che non hanno effettuato il login sono memorizzati nel file wp_comments tavolo.

In questa parte della mia serie sui dati in WordPress, vedrò come WordPress memorizza i dati dell'utente e come è possibile accedervi, concentrandosi prima sul wp_users tavolo.

La tabella wp_users

Il wp_users tabella memorizza tutte le informazioni di base su ciascun utente. Ha i seguenti campi:

Campo Cosa memorizza Gli appunti
ID
l'ID utente
generato automaticamente
Login utente
nome utente
necessario
user_pass
parola d'ordine
generato automaticamente se non fornito al momento della registrazione
user_nicename
soprannome
generato automaticamente se non inserito manualmente
user_email
indirizzo email
necessario
user_url
sito web
non richiesto
user_registered
data e ora in cui l'utente si è registrato per la prima volta
generato automaticamente
user_activation_key
chiave di attivazione utente
generato automaticamente
stato dell'utente
stato memorizzato come numero - questo indica a WordPress se l'utente ha confermato la registrazione via e-mail, ad esempio. NON memorizza i ruoli utente.
generato automaticamente
nome da visualizzare
nome visualizzato pubblicamente
generato automaticamente se non inserito manualmente

Come puoi vedere, tutti tranne un campo (user_url) sono obbligatori alla registrazione o verranno generati automaticamente.

Meta Dati dell'utente

Così come i dati in wp_users, ci sono dati che vengono creati per tutti gli utenti ma sono memorizzati nel wp_usermeta tabella, come ruoli e capacità. Questa tabella viene anche utilizzata per memorizzare ulteriori impostazioni per migliorare l'esperienza dell'utente, come lo schema di colori amministratore e le impostazioni selezionate per la barra di amministrazione e la visualizzazione dashboard.

Questa è la tabella che dovresti usare quando vuoi creare campi aggiuntivi per gli utenti tramite il tuo tema o plugin - non dovresti mai aggiungere campi al main wp_users tavolo.

Ogni record nel wp_usermeta la tabella ha quattro campi:

  • ID - l'ID del record
  • ID utente - a cui è collegato wp_users
  • meta_key
  • meta_value

Per creare un nuovo record di metadati utente, si utilizza il add_user_meta () funzione:

add_user_meta ($ user_id, $ meta_key, $ meta_value, $ unique);

Il quarto parametro per questa funzione ($ unico) è facoltativo e specifica se il valore nel file meta_key il campo dovrebbe essere unico.

Una volta aggiunti i metadati utente, puoi visualizzarli sulla pagina autore di ogni utente get_user_meta () oppure creare un elenco di tutti gli utenti con un determinato valore per una chiave specificata. 

Tratterò quest'ultima opzione in modo più dettagliato in un tutorial successivo in cui esaminerò i metadati e le tassonomie.

Relazioni tra utenti e altro contenuto

Gli utenti possono essere collegati a due tipi di contenuto: post e commenti. Nel caso dei post, ci sarà sempre un utente, che sarà l'autore. La relazione è tra il post_author campo in wp_posts e il campo ID in wp_users.

I commenti non hanno sempre un link al wp_users tabella: questo verrà creato solo se il commentatore è un utente che ha effettuato l'accesso. Se questo è il caso, il link è tra ID nel wp_users e ID utente nel wp_comments.

Se un commentatore non è un utente che ha effettuato l'accesso, i suoi dettagli verranno registrati direttamente su wp_comments tabella, utilizzando il COMMENT_AUTHOR, comment_author_email, comment_author_url e comment_author_IP i campi.

Sommario

Gli utenti sono fondamentali per l'installazione di WordPress. Senza di loro non hai nessun amministratore del sito e nessun autore per creare contenuti. 

WordPress memorizza i dati di base sugli utenti in wp_users tavolo e utilizza anche il wp_usermeta tabella per ulteriori metadati. Collega anche i dati dell'utente ai post in wp_posts tabella e commenti in wp_comments tavolo.