get_currentuserinfo()
Устанавливает глобальную переменную $current_user, в нее записываются данные текущего авторизованного пользователя.
Данные будут полностью соответствовать полям таблицы wp_users из базы данных и так же метаполям текущего пользователя (таблица wp_usermeta).
Также, функция заполняет следующие глобальные переменные:
- $user_login
- $user_ID
- $user_email
- $user_identity - Имя пользователя, указанное в поле настроек 'Отображать как (How to display name)' (с версии 3.0)
Хуков нет.
Возвращает
true|false|WP_User
. False во время XML-RPC запроса или при неправильных куках авторизации. Null когда переменная $current_user установлена.
Использование
get_currentuserinfo();
Примеры
#1 Демонстрация работы
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
#2 Использование отдельных переменных.
Много данных пользователя записываются в отдельные глобальные переменные, которые можно использовать, например, так:
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.
#3 Проверка существует ли пользователь.
Чтобы проверить авторизован (залогинен) ли пользователь, используйте следующий условный тег:
if( !is_user_logged_in() ){ // нет авторизованных пользователей }
#4 Еще один пример: как разделить показ авторизованным и нет
Как показать один текст авторизованным пользователям и другой не вошедшим в систему:
<?php if ( is_user_logged_in() ) { ?> <!-- текст который увидят авторизованные пользователи --> <?php } else { ?> <!-- этот текст увидят пользователи не вошедшие в систему. --> <p>Чтобы увидеть весь текст <a href="<?php bloginfo('url'); ?>/wp-register.php">зарегистрируйтесь</a>.</p> <?php } ?>
Заметки
- Смотрите: wp_get_current_user()
Список изменений
С версии 0.71 | Введена. |
Устарела с 4.5.0 | Use wp_get_current_user() |
Код get_currentuserinfo() get currentuserinfo WP 6.6.2
function get_currentuserinfo() { _deprecated_function( __FUNCTION__, '4.5.0', 'wp_get_current_user()' ); return _wp_get_current_user(); }