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)
1 раз — 0.000013 сек (очень быстро) | 50000 раз — 0.01 сек (скорость света) | PHP 7.0.5, WP 4.5.1

Хуков нет.

Возвращает

true|false|WP_User. False во время XML-RPC запроса или при неправильных куках авторизации. Null когда переменная $current_user установлена.

Использование

get_currentuserinfo();

Примеры

0

#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
0

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

0

#3 Проверка существует ли пользователь.

Чтобы проверить авторизован (залогинен) ли пользователь, используйте следующий условный тег:

if( !is_user_logged_in() ){
	 // нет авторизованных пользователей
}
0

#4 Еще один пример: как разделить показ авторизованным и нет

Как показать один текст авторизованным пользователям и другой не вошедшим в систему:

<?php if ( is_user_logged_in() ) { ?>
	<!-- текст который увидят авторизованные пользователи -->
<?php } else {   ?>
	<!-- этот текст увидят пользователи не вошедшие в систему. -->

<p>Чтобы увидеть весь текст <a href="<?php bloginfo('url'); ?>/wp-register.php">зарегистрируйтесь</a>.</p>

<?php } ?>

Заметки

Список изменений

С версии 0.71 Введена.
Устарела с 4.5.0 Use wp_get_current_user()

Код get_currentuserinfo() WP 6.6.2

function get_currentuserinfo() {
	_deprecated_function( __FUNCTION__, '4.5.0', 'wp_get_current_user()' );

	return _wp_get_current_user();
}