Skip to main content
WordPress

8 modi per ottenere l’ID utente in WordPress

In questo tutorial ti mostrerò esempi di codice su come trovare l’ID utente corrente, come ottenere l’ID per nome utente, cognome, login, e-mail etc.

 Tutti gli esempi funzionano anche per WooCommerce.

1. Trova l’ID utente nell’area di amministrazione di WordPress

Questo è un metodo molto semplice, ma presenta anche alcuni svantaggi. Primo: dovresti aver effettuato l’accesso, secondo: non puoi ottenere l’ID del tuo utente.

Così:

  1. Accedi al tuo amministratore di WordPress
  2. Vai su Utenti> Tutti gli utenti
  3. Scegli l’utente e vai al suo profilo
  4. Guarda l’URL della pagina:
    È possibile ottenere l'ID utente dall'URL del suo profilo.

2. Ottieni l’ID utente corrente (e nome utente, e-mail ecc.)

Il modo migliore per ottenere un ID utente attualmente connesso è utilizzare la get_current_user_id()funzione.

$ current_user_id = get_current_user_id ( ) ;

Assolutamente lo stesso è con wp_get_current_user():

$ current_user = wp_get_current_user ( ) ;
$ current_user_id = $ current_user -> ID ;

L’uso di get_current_user_id()mi sembra più semplice, ma puoi usarlo come vuoi, perché nel codice sono gli stessi. Ma wp_get_current_user()ti consente allo stesso tempo di ricevere l’e-mail dell’utente attuale $current_user->user_email, nome $current_user->first_name, cognome $current_user->last_name, nome utente $current_user->user_logine nome visualizzato $current_user->display_name.

Ma ne hai sentito parlare get_currentuserinfo()? Dovresti usarlo? La risposta è: no, questa funzione è obsoleta. Usa wp_get_current_user()invece.

3. Come ottenere l’ID utente via e-mail?

Abbastanza semplice. Basta usare la get_user_by()funzione.

$ the_user = get_user_by ( 'email' , 'misha@rudrastyh.com' ) ;
$ the_user_id = $ the_user -> ID ;

Bonus: ricevi email utente per ID

Prima di tutto puoi ottenere la posta elettronica dell’utente con la stessa get_user_by()funzione.

$ the_user = get_user_by (  'id' , 54  ) ; // 54 è un ID utente 
echo  $ the_user -> user_email ;

Il metodo successivo è solo la get_userdata()funzione, che è uguale aget_user_by( 'id', ... )

$ the_user = get_userdata (  54  ) ;
echo  $ the_user -> user_email ;

4. Ottieni l’ID utente per nome utente (nome di accesso)

Nel seguente esempio il secondo parametro “rudrastyh” è il nome utente.

$ the_user = get_user_by ( 'login' , 'rudrastyh' ) ;
$ the_user_id = $ the_user -> ID ;

C’è un modo per ottenere il nome utente dall’ID utente? Sì, basta usare get_userdata()get_user_by( 'id', ... ). Proprio come nell’esempio con le e-mail.

5. Ottieni l’ID utente per nome o per cognome

Stampa gli ID di tutti gli utenti con il nome è “Misha”:

 $ wpdb globale ;
$ users = $ wpdb -> get_results (  "SELEZIONA user_id FROM $ wpdb-> usermeta DOVE meta_key = 'first_name' AND meta_value = 'Misha'"  ) ;
if (  $ users  )  { 
	foreach  (  $ users  as  $ user  )  { 
		echo  '<p>' . $ user -> user_id . '</p>' ;
	} 
}  else  { 
	echo  'Non ci sono utenti con il nome specificato.' ;
}

Stampa gli ID di tutti gli utenti con il cognome è “Rudrastyh”:

 $ wpdb globale ;
$ users = $ wpdb -> get_results (  "SELEZIONA user_id FROM $ wpdb-> usermeta DOVE meta_key = 'first_name' AND meta_value = 'Rudrastyh'"  ) ;
if (  $ users  )  { 
	foreach  (  $ users  as  $ user  )  { 
		echo  '<p>' . $ user -> user_id . '</p>' ;
	} 
}  else  { 
	echo  'Non ci sono utenti con il cognome specificato.' ;
}

Il codice sopra funzionerà se desideri trovare l’ID utente per qualsiasi meta valore dell’utente. Basta sostituire meta_keymeta_valuecon quelli di cui hai bisogno.

E ovviamente puoi ottenere il nome e il cognome dell’utente e qualsiasi meta con l’aiuto della get_user_meta( $id, $meta_key, true)funzione.

6. Come ottenere l’ID autore per ID postale?

In questo caso è possibile ottenere l’ID utente dall’oggetto WP_Post. È semplice.

$ my_post = get_post (  $ id  ) ; // $ id - 
Eco  ID post $ my_post -> post_author ; // stampa l'ID dell'autore del post

7. Come ottenere un ID cliente da un ordine in WooCommerce?

Esistono due modi diversi per farlo, il primo è solo per ottenere l’ID cliente dal meta ordine in questo modo:

$ customer_id = get_post_meta (  541 , '_customer_user' , true ) ; // 541 è il tuo ID ordine

Il secondo è con l’aiuto WC_Orderdell’oggetto. A proposito, questo metodo funzionerà solo per WC 3.0+.

$ order = wc_get_order (  541  ) ; // 541 è il tuo ID ordine 
$ customer_id = $ order -> get_customer_id ( ) ; // o $ order-> get_user_id () - lo stesso

8. Aggiungi la colonna ID utente alla tabella  utenti di WordPress

Modo molto utile per ottenere gli ID utente tramite l’amministratore di WordPress. Ecco il risultato:

Colonna ID utente nella tabella degli utenti

Come creare la stessa colonna sul tuo sito Web WordPress? Tutto quello che devi fare è copiare il seguente codice nel tuo functions.phpfile di temi corrente :

/*
 * Aggiunta della colonna
 * / 
function rd_user_id_column (  $ colonne  )  { 
	$ colonne [ 'user_id' ] = 'ID' ;
	restituisce  $ colonne ;
} 
add_filter ( 'manage_users_columns' , 'rd_user_id_column' ) ;
 
/*
 * Contenuto della colonna
 * / 
function rd_user_id_column_content ( $ value , $ column_name , $ user_id )  { 
	if  (  'user_id' == $ column_name  ) 
		restituisce  $ user_id ;
	restituisce  $ valore ;
} 
add_action ( 'manage_users_custom_column' ,   'rd_user_id_column_content' , 10 , 3 ) ;
 
/*
 * Stile colonna (puoi saltarlo se vuoi)
 * / 
function rd_user_id_column_style ( ) { 
	echo  '<style> .column-user_id {larghezza: 5%} </style>' ;
} 
add_action ( 'admin_head-users.php' ,   'rd_user_id_column_style' ) ;

Leave a Reply

Rispettiamo la tua privacy!

Su questo sito utilizziamo strumenti nostri o di terze parti che memorizzano piccoli file (cookie) sul tuo dispositivo. I cookie sono normalmente usati per permettere al sito di funzionare correttamente (cookie tecnici), per generare statistiche di uso/navigazione (cookie statistici). Abilitando questi cookie, ci aiuti ad offrirti una esperienza migliore con noi.

Privacy & Cookie Policy