wp_get_current_user

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

wp_get_current_user() находится в /wp-includes/pluggable.php. Этот файл подключается сразу после загрузки всех плагинов, но до события plugins_loaded. Сделано это для того, чтобы плагины могли переопределять эту функцию и так заменять её своей.

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

✈ 1 раз = 0.00001с = скорость света | 50000 раз = 0.03с = скорость света

Хуков нет.

Возвращает

Объект WP_User.

Если пользователь не авторизован, вернет пустой объект, т.е. проверять авторизован ли пользователь с помощью wp_get_current_user() нельзя:

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

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

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

wp_get_current_user();

Примеры

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

Проверим авторизован (залогинен) ли пользователь:

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

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

Выведем на экран различные данные о текущем авторизованном пользователе, при помощи функции wp_get_current_user():

$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-includes/pluggable.php

WP 4.7.2

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

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *