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.
Замена функции (переопределение) — в плагине можно создать функцию с таким же названием, тогда она заменит текущую функцию.
Хуков нет.
Возвращает
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 get current user WP 5.6
function wp_get_current_user() {
return _wp_get_current_user();
}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()