WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Авторские Темы для WordPress

wp_get_current_user() WP 2.0.4

Получает данные о текущем авторизованном пользователе (объект WP_User). Устанавливает текущего пользователя, если не установлен.

ID текущего пользователя определяется функциям:

Функция начинает работать в WP с события plugins_loaded. Если вызвать её раньше, то мы получим fatal error.

Если очень нужно вызвать функцию до события plugins_loaded, то нужно предварительно подключить зависимости:

// зависимости
wp_cookie_constants();
require ABSPATH . WPINC . '/pluggable.php';

$cuser = wp_get_current_user(); //> WP_User object

Это pluggable функция — т.е. её можно заменить из плагина. Это значит, что она будет работать (подключается) только после подключения всех плагинов, а до этого момента функция еще не определена... Поэтому нельзя вызывать эту и зависящие от неё функции прямо из кода плагина. Их нужно вызывать через хук plugins_loaded или позднее, например хук init.

Замена функции (переопределение) — в плагине можно создать функцию с таким же названием, тогда она заменит текущую функцию.

1 раз — 0.00001 сек (скорость света) | 50000 раз — 0.03 сек (скорость света)

Хуков нет.

Возвращает

WP_User. Объект WP_User.

Если пользователь не авторизован, вернет пустой объект! Т.е. Нельзя проверять авторизован ли пользователь через эту функцию:

if( wp_get_current_user() ){
	echo 'эта строка будет выводиться всегда!';
}

// Нужно так:
if( wp_get_current_user()->exists() ){
	echo 'Авторизован!';
}

// или так: 
if( is_user_logged_in() ){
	echo 'Авторизован!';
}

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

wp_get_current_user();

Примеры

#1. Проверим вошел ли пользователь на сайт

Проверим авторизован (залогинен) ли пользователь. Если пользователя не существует, его ID будет равен 0:

$current_user = wp_get_current_user();
if( $current_user->ID ){
	// Авторизован.
}
else {
	// Не авторизован.
}

Но лучше использовать для этих целей is_user_logged_in().

#2. Получим данные текущего пользователя

Выведем на экран различные данные о текущем авторизованном пользователе:

$current_user = wp_get_current_user();

echo 'Username: '         . $current_user->user_login     . '<br />';
echo 'email: '            . $current_user->user_email     . '<br />';
echo 'first name: '       . $current_user->user_firstname . '<br />';
echo 'last name: '        . $current_user->user_lastname  . '<br />';
echo 'Отображаемое имя: '   . $current_user->display_name   . '<br />';
echo 'ID: '               . $current_user->ID             . '<br />';

Заметки

  • Смотрите: _wp_get_current_user()
  • Global. WP_User. $current_user Checks if the current user is set.

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

С версии 2.0.3 Введена.

Код wp_get_current_user() WP 5.7.2

<?php
function wp_get_current_user() {
	return _wp_get_current_user();
}

Из метки: Пользователи (_user)

Еще из раздела: Остальное

16 комментов
Полезные 3 Все
    Войти