Cum afișez numele de utilizator dacă acesta este autentificat?

20 apr. 2012, 20:11:59
Vizualizări: 133K
Voturi: 23

Lucrez la crearea unui text care să afișeze "Login" pentru utilizatorii care nu sunt autentificați și numele de utilizator sau numele de afișare când aceștia sunt autentificați.

Pare să fie o problemă ușor de rezolvat și am găsit următoarele două bucăți de cod în WordPress Codex care fac fiecare jumătate din ceea ce caut, dar nu am reușit să le combin (fără să stric site-ul).

Este aceasta direcția corectă sau sunt pe o cale greșită?

Pentru a verifica dacă utilizatorul este autentificat și a afișa ceva diferit în funcție de acest lucru:

<?php if ( is_user_logged_in() ) {
    echo '{cod pentru numele de utilizator aici}';
} else {
    echo 'Login';
}
?>

Pentru a obține și afișa informațiile utilizatorului curent:

<?php global $current_user;
wp_get_current_user();
echo 'Nume utilizator: ' . $current_user->user_login . "\n";
echo 'Nume de afișare: ' . $current_user->display_name . "\n";
?>
0
Toate răspunsurile la întrebare 1
1
54

Acest cod pare să facă ceea ce ai nevoie.

<?php global $current_user; wp_get_current_user(); ?>
<?php 
if ( is_user_logged_in() ) { 
  echo 'Nume utilizator: ' . $current_user->user_login . "\n"; 
  echo 'Nume afișat: ' . $current_user->display_name . "\n"; 
} else { 
  wp_loginout(); 
} ?>
20 apr. 2012 20:23:32
Comentarii

Dacă is_user_logged_in() returnează true, atunci wp_get_current_user(); probabil nu este necesar. Am reușit să omit această linie și totuși să afișez $current_user->display_name.

Martin_W Martin_W
18 mai 2023 06:15:17