Как отобразить имя пользователя, если он авторизован?

20 апр. 2012 г., 20:11:59
Просмотры: 133K
Голосов: 23

Я работаю над созданием текста, который будет показывать 'Войти' пользователям, которые не авторизованы, и отображать имя пользователя или отображаемое имя, когда пользователь авторизован.

Кажется, что это должно быть простой задачей, и я нашел следующие два фрагмента кода в документации WordPress, каждый из которых выполняет половину того, что мне нужно, но я не могу понять, как их объединить (не ломая сайт).

Это правильное направление или я далек от истины?

Проверка авторизации пользователя и отображение разного контента в зависимости от статуса:

<?php if ( is_user_logged_in() ) {
    echo '{код для имени пользователя}';
} else {
    echo 'Войти';
}
?>

Получение и отображение информации о текущем пользователе:

<?php global $current_user;
wp_get_current_user();
echo 'Логин: ' . $current_user->user_login . "\n";
echo 'Отображаемое имя: ' . $current_user->display_name . "\n";
?>
0
Все ответы на вопрос 1
1
54

Этот код делает то, что вам нужно.

<?php global $current_user; wp_get_current_user(); ?>
<?php 
if ( is_user_logged_in() ) { 
  echo 'Имя пользователя: ' . $current_user->user_login . "\n"; 
  echo 'Отображаемое имя: ' . $current_user->display_name . "\n"; 
} else { 
  wp_loginout(); 
} ?>
20 апр. 2012 г. 20:23:32
Комментарии

Если is_user_logged_in() возвращает true, то wp_get_current_user();, вероятно, не нужен. Я смог пропустить этот вызов и по-прежнему выводить $current_user->display_name.

Martin_W Martin_W
18 мая 2023 г. 06:15:17