get_currentuserinfo() WP 0.71
Запрещена (устарела) с версии 4.5.0. Больше не поддерживается и может быть удалена. Используйте wp_get_current_user().
Устанавливает глобальную переменную $current_user
, в нее записываются данные текущего авторизованного пользователя.
Данные будут полностью соответствовать полям таблицы wp_users из базы данных и так же метаполям текущего пользователя (таблица wp_usermeta).
Также, функция заполняет следующие глобальные переменные:
- $user_login
- $user_ID
- $user_email
- $user_identity - Имя пользователя, указанное в поле настроек 'Отображать как (How to display name)' (с версии 3.0)
Хуков нет.
Возвращает
null/false. False во время XML-RPC запроса или при неправильных куках авторизации. Null когда переменная $current_user установлена.
Использование
get_currentuserinfo();
Шаблон использования
global $current_user; get_currentuserinfo(); echo 'Имя пользователя: ' . $current_user->user_login . "\n"; echo 'E-mail : ' . $current_user->user_email . "\n"; echo 'Имя: ' . $current_user->user_firstname . "\n"; echo 'Фамилия: ' . $current_user->user_lastname . "\n"; echo 'Отображать как: ' . $current_user->display_name . "\n"; echo 'ID пользователя: ' . $current_user->ID . "\n";
Получим:
Имя пользователя: Zedd E-mail : my@email.com Имя: John Фамилия: Doe Отображать как: John Doe ID пользователя: 1
Примеры
#1. Использование отдельных переменных.
Много данных пользователя записываются в отдельные глобальные переменные, которые можно использовать, например, так:
global $display_name , $user_email; get_currentuserinfo(); echo "E-mail адрес пользователя ". $user_identity . ": " . $user_email;
Получим:
E-mail адрес пользователя Leonid: leonid@mail.ru
ЗАМЕТКА: переменная $display_name может не работать в версиях выше 2.5, используйте вместо неё $user_identity.
#2. Проверка существует ли пользователь.
Чтобы проверить авторизован (залогинен) ли пользователь, используйте следующий условный тег:
if( !is_user_logged_in() ){ // нет авторизованных пользователей }
#3 Еще один пример: как разделить показ авторизованным и нет
Как показать один текст авторизованным пользователям и другой не вошедшим в систему:
<?php if ( is_user_logged_in() ) { ?> <!-- текст который увидят авторизованные пользователи --> <?php } else { ?> <!-- этот текст увидят пользователи не вошедшие в систему. --> <p>Чтобы увидеть весь текст <a href="<?php bloginfo('url'); ?>/wp-register.php">зарегистрируйтесь</a>.</p> <?php } ?>
Заметки
- Смотрите: wp_get_current_user()
Список изменений
С версии DEL 4.5.0 | Введена. |
Код get currentuserinfo:
wp-includes/pluggable-deprecated.php
WP 5.3
Cвязанные функции
Из метки: Пользователи (_user)
Еще из раздела: Остальное
- auth_redirect()
- count_many_users_posts()
- count_user_posts()
- count_users()
- email_exists()
- get_author_posts_url()
- get_editable_roles()
- get_the_author()