whatsapp   

Sabato

19

Marzo 2022

Come recuperare utenti WordPress e dati senza plugin

Come recuperare utenti WordPress e dati dal database senza plugin

  1. blog Come recuperare utenti WordPress e dati dal database senza plugin
event_available
schedule

Come recuperare gli utenti di WordPress e i loro dati dal database senza utilizzare un plugin? Sei nel posto giusto, in questa guida vedremo come utilizzare la funzione get_users() del core di WordPress per ottenere una lista di utenti anche in base al ruolo.

Prima di iniziare analizziamo la funzione:

get_users( $args = array() );

Questa funzione recupera tutti gli utenti dal database in base al contenuto del suo unico parametro obbligatorio che deve essere un array.

Con questo parametro puoi filtrare i risultati in base a molti valori, come ad esempio:

get_users( array( 'role' => ‘Administrator’) );
//stampa un array contenente tutti gli utenti amministratori
code

Come recuperare utenti WordPress: altri esempi di filtro

Vediamo tutti i filtri possibili per recuperare gli utenti di WordPress dal database.

Recuperare più ruoli utenti

$users = get_users(array('role__in' => array('Administrator', 'author')));

Cercare più utenti

$users = get_users(array('search' => '*gmail.com'));

con questo parametro puoi cercare qualsiasi in qualsiasi campo del database degli utenti, nell’esempio otteniamo tutti gli utenti con mail che finisce con ‘gmail.com’.

Puoi anche inserire un numero intero per recuperare gli ID degli utenti. Ti sconsiglio questa opzione perché potrebbe recuperare anche altri dati non desiderati.

L’asterisco viene utilizzato per indicare qualsiasi altro carattere prima di quello indicato in seguito.

Recuperare l’utente corrente che visualizza la pagina

Per recuperare l’utente corrente puoi utilizzare la funzione di WP wp_get_current_user(). Questa funzione restituisce un array con tutte le informazioni dell’utente corrente che potrai recuperare usando le query della funzione get_users(), come spiegato di seguito.

$user = wp_get_current_user();
code

Come recuperare i dati degli utenti WordPress

Ora che hai recuperato gli utenti registrati al tuo sito in base ai filtri che desideri dovrai recuperare le informazioni di ogni singolo utente.

Se hai recuperato più utenti dovrai impostare un ciclo foreach in questo modo:

$users = get_users(array('role' => 'Administrator'));
foreach ($users as $user) {
  echo var_dup($user); 
}

Recuperare tutti i dati degli utenti registrati

$users = get_users(array('role' => 'Administrator'));
foreach ($users as $user) {
  echo $user->ID."<br>"; //ID utente
  echo $user->user_login."<br>"; //Nome utente
  echo $user->user_pass."<br>"; //password (criptata)
  echo $user->user_nicename."<br>"; //utilizzato negli url
  echo $user->user_email."<br>"; //email di registrazione
  echo $user->user_url."<br>"; //url sito web
  echo $user->user_registered."<br>"; //data di registrazione
  echo $user->user_activation_key."<br>"; //chiave generata da WP alla richiesta di cambio password
  echo $user->user_status."<br>"; //campo per verificare se l'utente è spam (oggi inutilizzato)
  echo $user->display_name."<br>"; //nome visualizzato, diverso dal nome utente per il login
  echo $user->roles[0]."<br>"; //ruolo dell'utente
}

Recuperare dati di Woocommerce

$users = get_users(array('role' => 'Administrator'));
foreach ($users as $user) {
  /* Dati di Woocommerce */
  echo $user->billing_company."<br>";
  echo $user->billing_address_1."<br>"; 
  echo $user->billing_address_2."<br>"; 
  echo $user->billing_city."<br>"; 
  echo $user->billing_postcode."<br>"; 
  echo $user->billing_country."<br>"; 
  echo $user->billing_state."<br>"; 
  echo $user->billing_phone."<br>"; 
  echo $user->billing_email."<br>"; 

  /* Dati di spedizione Woocommerce */
  echo $user->shipping_first_name."<br>"; 
  echo $user->shipping_last_name."<br>"; 
  echo $user->shipping_company."<br>"; 
  echo $user->shipping_address_1."<br>"; 
  echo $user->shipping_address_2."<br>"; 
  echo $user->shipping_city."<br>"; 
  echo $user->shipping_postcode."<br>"; 
  echo $user->shipping_country."<br>"; 
  echo $user->shipping_state."<br>"; 
}

Vediamo ora altri esempi:

Verificare se un utente esiste

foreach ($users as $user) {
  echo $user->exists(); //return boolean true or false
}

Verificare le capacità di un utente

Per questo si utilizza la funzione has_cap() che ritorna un valore booleano true o false in base alle caratteristiche dell’utente, in questo modo:

$user->has_cap( 'edit_posts' );

Ti lascio ora il link alla documentazione ufficiale di WordPress per completezza.

Ti è piaciuto questo articolo?

favorite thumb_down

Ci dispiace ricevere questa notizia. Aiutaci a migliorare! Cosa non va nell'articolo?

message
library_books

Leggi anche

Come inviare dati dei form con Ajax serialize() a php
Scopri
Come usare le chiavi API Google
Scopri
Come unire file Javascript e CSS in WordPress
Scopri
Come fare redirect in WordPress senza plugin
Scopri
Variabili in CSS come usarle nei tuoi fogli di stile
Scopri
come creare tipi di post personalizzati in wordpress
Scopri
Come creare template articoli personalizzato WordPress
Scopri
somma di elementi di un array in php con array_sum()
Scopri

Contattami

perm_identity
alternate_email
phonelink_ring
message

Il tuo messaggio è stato inviato con successo!
Ti risponderemo a breve

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.

message
perm_identity
alternate_email

Inviato

keyboard_arrow_up