Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Jak uzyskać informacje o zalogowanym użytkowniku w WordPress dla spersonalizowanych wyników

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.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz w niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

9 CommentsLeave a Reply

    • Thank you for your feedback and for letting us know about this article :)

      Admin

  1. 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.

  2. 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ć.

  3. 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?

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.