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.

check_circle

Leggi anche

Come creare sottomenu backend WordPress con add_submenu_page()
Scopri di più
Come creare pagina di amministrazione backend WordPress
Scopri di più
Cos'è il marketing mix
Scopri di più
Perché analizzare i competitor
Scopri di più
Come creare controlli personalizzati per Wp customizer
Scopri di più
Come inviare dati dei form con Ajax serialize() a php
Scopri di più
Elenco icone Google in un array in codice php
Scopri di più
Come usare le chiavi API Google
Scopri di più

Contattaci!

Preventivo sempre gratuito

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

keyboard_arrow_up