Niedawno pokazaliśmy, jak stworzyć spersonalizowane doświadczenie dla użytkowników, pozwalając im zapisywać ulubione posty w spersonalizowanej bibliotece. Możesz przenieść spersonalizowane wyniki na wyższy poziom, używając ich imienia w różnych miejscach (np. na ekranie powitalnym). Na szczęście WordPress bardzo ułatwia pobieranie informacji o zalogowanym użytkowniku. W tym artykule pokażemy, jak pobrać informacje dotyczące aktualnie zalogowanego użytkownika.
Użyjemy funkcji get_currentuserinfo(). Można jej używać w dowolnym miejscu motywu (nagłówek, stopka, pasek boczny, szablon strony itp.). Aby to działało, użytkownik musi być zalogowany. Dlatego będziemy musieli użyć instrukcji warunkowej is_user_logged_in(). Przykładowy kod:
<?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 } ?>
Teraz dla zalogowanych użytkowników możemy wyświetlić niestandardową wiadomość, na przykład: „Hej Syed, wszystko jest tutaj, dokładnie tam, gdzie miało być”. Powyższy kod zamieni się w coś takiego:
<?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 } ?>
Magiczny kod, który dodaliśmy powyżej, to $current_user->user_firstname;, który działa, ponieważ wywołanie get_currentuserinfo() umieszcza informacje o bieżącym użytkowniku w $current_user. Możesz użyć podobnej metody, aby uzyskać inne informacje o użytkowniku, takie jak jego login, identyfikator użytkownika, adres e-mail, strona internetowa itp.
Oto przykładowe użycie wszystkich informacji:
<?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 . "
";
?>
Mam nadzieję, że to pomoże. Łącząc to z możliwością dodawania ulubionych postów, możesz łatwo stworzyć spersonalizowane doświadczenie.

Stef
Powinieneś to zaktualizować. Jest przestarzałe/nieaktualne.
Wsparcie WPBeginner
Thank you for your feedback and for letting us know about this article
Admin
Hash
Jak wyświetlić zdjęcie profilowe zalogowanego użytkownika?
S Meredith
Cześć Syed,
Fantastyczna strona.
Bardzo pomogła mi w zrozumieniu WP i edycji mojej własnej strony.
Moje pytanie brzmi: jak po wstawieniu powyższej funkcji do pliku functions.php mojego motywu potomnego, stworzyć skrót (shortcode), abym mógł wyświetlić te informacje o użytkowniku na ogólnej stronie?
Czy krótkie kody są najlepszym sposobem, aby umożliwić wyświetlanie tego na dowolnej stronie, którą chciałbym?
Na przykład, mam statyczną stronę, na której chciałbym wyświetlić „Witaj {user_name}” i jego zdjęcie profilowe.
Wsparcie WPBeginner
Krótkie kody to łatwiejszy sposób na zrobienie tego. Możesz także tworzyć szablony z określonymi funkcjami WordPressa. Zobacz nasz przewodnik, jak dodać krótki kod w WordPressie
Admin
ajay
jak mogę wyświetlić informacje o użytkowniku na stronie
Pavan
Nie znam się na PHP. Chcę tylko pokazać nazwę użytkownika mojego klienta na górnym pasku nawigacyjnym, a stamtąd będzie mógł uzyskać dostęp do swojego konta. Jak to zrobić.
Faruk
Co jeśli użytkownik nie jest zalogowany. Czy WordPress nadal może wysłać spersonalizowany e-mail z jego imieniem? A jeśli tak, to jaki jest zmienna i jak?
Wsparcie WPBeginner
Nie, WordPress tego nie potrafi.
Admin