Nyligen visade vi dig hur du skapar en personlig upplevelse för dina användare genom att låta dem spara sina favoritposter i ett personligt bibliotek. Du kan ta personliga resultat till en annan nivå genom att använda deras förnamn på platser (dvs. välkomstskärmen). Lyckligtvis gör WordPress det väldigt enkelt att hämta information om den inloggade användaren. I den här artikeln visar vi dig hur du hämtar information som rör den för närvarande inloggade användaren.
Vi kommer att använda funktionen get_currentuserinfo(). Denna kan användas var som helst i ditt tema (header, footer, sidebar, page-template etc). För att detta ska fungera måste användaren vara inloggad. Så vi kommer att behöva använda det villkorliga uttalandet is_user_logged_in(). Exempelkod:
<?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 } ?>
Nu för de inloggade användarna kan vi visa ett anpassat meddelande till exempel, "Hej Syed, allt finns här, precis där du hoppades att det skulle vara". Ovanstående kod kommer att se ut ungefär så här:
<?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 } ?>
Den magiska koden som vi lade till ovan är $current_user->user_firstname; vilket fungerar eftersom anropet till get_currentuserinfo() placerar den aktuella användarens information i $current_user. Du kan använda liknande metoder för att hämta annan information om användaren, såsom deras inloggning, användar-ID, e-postadress, webbplats etc.
Här är ett exempel på användning av all information:
<?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 . "
";
?>
Hoppas detta hjälper. Genom att kombinera detta med möjligheten att lägga till favoritposter kan du enkelt skapa en personlig upplevelse.

Stef
Du borde uppdatera detta. Det är föråldrat/deprecierat.
WPBeginner Support
Thank you for your feedback and for letting us know about this article
Admin
Hash
Hur visar man inloggad användares profilbild?
S Meredith
Hej Syed,
Fantastisk sida.
Den har hjälpt mig mycket med att förstå WP och redigera min egen sida.
Min fråga är, när jag väl har infogat ovanstående funktion i mitt barns temas functions.php, hur skulle jag skapa en kortkod så att jag sedan kan visa denna användarinformation på en generell sida?
Är kortkoder det bästa sättet att tillåta detta att visas på vilken sida jag vill.
Till exempel, jag har en statisk sida som jag skulle vilja visa 'Välkommen {user_name}' och deras profilbild.
WPBeginner Support
Kortkoder är ett enklare sätt att göra det. Du kan också skapa mallar med specifika WordPress-funktioner. Se vår guide om hur hur man lägger till en kortkod i WordPress
Admin
ajay
hur kan jag skriva ut användarinformation på en sida
Pavan
Jag kan inget om php. Jag vill bara visa namnet på min kund i TOP-fältets navigering, och därifrån kan han komma åt sitt konto. Hur gör jag det.
Faruk
Vad händer om användaren inte är inloggad. Kan WordPress fortfarande skicka ett personligt e-postmeddelande med hans namn? och om ja, vad är variabeln och hur?
WPBeginner Support
Nej, WordPress kan inte göra det.
Admin