Recentemente ti abbiamo mostrato come creare un'esperienza personalizzata per i tuoi utenti permettendo loro di salvare i loro post preferiti in una libreria personalizzata. Puoi portare i risultati personalizzati a un altro livello utilizzando il loro nome di battesimo in alcuni punti (ad esempio, la schermata di benvenuto). Fortunatamente, WordPress rende molto facile ottenere le informazioni dell'utente connesso. In questo articolo ti mostreremo come recuperare informazioni relative all'utente attualmente connesso.
Utilizzeremo la funzione get_currentuserinfo(). Questa potrebbe essere utilizzata ovunque nel tuo tema (header, footer, sidebar, page-template ecc.). Affinché ciò funzioni, l'utente deve essere connesso. Quindi dovremo usare l'istruzione condizionale is_user_logged_in(). Codice di esempio:
<?php if ( is_user_logged_in() ) { ?>
<!-- text that logged in users will see -->
<?php } else { ?>
<!-- here is a paragraph that is shown to anyone not logged in -->
<p>By <a href="<?php bloginfo('url'); ?>/wp-register.php">registering</a>, you can save your favorite posts for future reference.</p>
<?php } ?>
Ora, per gli utenti connessi, possiamo mostrare un messaggio personalizzato, ad esempio: "Ehi Syed, tutto è qui, proprio dove speravi che fosse". Il codice sopra si trasformerà in qualcosa di simile:
<?php if ( is_user_logged_in() ) { ?>
<!-- text that logged in users will see -->
<?php global $current_user; get_currentuserinfo(); ?>
<h1>Hi <?php echo $current_user->user_firstname; ?></h1>
<p>Everything is here, right where you hoped it would be :)</p>
<?php } else { ?>
<!-- here is a paragraph that is shown to anyone not logged in -->
<p>By <a href="<?php bloginfo('url'); ?>/wp-register.php">registering</a>, you can save your favorite posts for future reference.</p>
<?php } ?>
Il codice magico che abbiamo aggiunto sopra è $current_user->user_firstname; che funziona perché la chiamata a get_currentuserinfo() inserisce le informazioni dell'utente corrente in $current_user. Puoi usare un metodo simile per ottenere altre informazioni sull'utente come il loro login, ID utente, email, sito web ecc.
Ecco un esempio di utilizzo di tutte le informazioni:
<?php global $current_user;
get_currentuserinfo();
echo 'Username: ' . $current_user->user_login . "
";
echo 'User email: ' . $current_user->user_email . "
";
echo 'User first name: ' . $current_user->user_firstname . "
";
echo 'User last name: ' . $current_user->user_lastname . "
";
echo 'User display name: ' . $current_user->display_name . "
";
echo 'User ID: ' . $current_user->ID . "
";
?>
Spero che questo aiuti. Combinando questo con la possibilità di aggiungere post preferiti, puoi facilmente creare un'esperienza personalizzata.

Stef
Dovresti aggiornare questo. È obsoleto/deprecato.
Supporto WPBeginner
Thank you for your feedback and for letting us know about this article
Amministratore
Hash
Come visualizzare l'immagine del profilo dell'utente connesso?
S Meredith
Ciao Syed,
Sito fantastico.
Mi ha aiutato molto a capire WP e a modificare il mio sito.
La mia domanda è, una volta inserita la funzione sopra nel functions.php del mio child theme, come potrei creare uno shortcode per poter poi visualizzare queste informazioni utente su una pagina generica?
Gli shortcode sono il modo migliore per consentire la visualizzazione su qualsiasi pagina desideri?
Ad esempio, ho una pagina statica in cui vorrei visualizzare 'Benvenuto {user_name}' e la sua immagine del profilo.
Supporto WPBeginner
Gli shortcode sono un modo più semplice per farlo. Puoi anche creare template con specifiche funzioni di WordPress. Vedi la nostra guida su come aggiungere uno shortcode in WordPress
Amministratore
ajay
come posso visualizzare le informazioni utente in una pagina
Pavan
Non so nulla di php. Voglio solo mostrare il nome utente del mio cliente nella barra di navigazione SUPERIORE, e da lì potrà accedere al suo account. Come faccio?
Faruk
E se l'utente non è connesso? WordPress può comunque inviare email personalizzate con il suo nome? e se sì, qual è la variabile e come?
Supporto WPBeginner
No, WordPress non può farlo.
Amministratore