get_userdata()
Получает данные указанного пользователя в виде объекта WP_User.
Данные, возвращаемые функцией, полностью соответствуют полям таблиц БД wp_users и wp_usermeta. Описание таблиц см. тут.
Некоторые полезные значения полей таблиц wp_users и wp_usermeta, которые вы можете использовать для получения данных:
users ID user_login user_pass user_nicename user_email user_url user_registered display_name user_meta user_firstname user_lastname nickname user_description wp_capabilities Массив admin_color Тема админ-панели. По умолчанию: свежая (fresh) closedpostboxes_page primary_blog rich_editing source_domain
Pluggable функция — эту функцию можно заменить из плагина. Это значит, что она будет работать (подключается) только после подключения всех плагинов, а до этого момента функция еще не определена... Поэтому нельзя вызывать эту и зависящие от неё функции прямо из кода плагина. Их нужно вызывать через хук plugins_loaded или позднее, например хук init.
Замена функции (переопределение) — в must-use или обычном плагине можно создать функцию с таким же названием, тогда она заменит текущую функцию.
Хуков нет.
Возвращает
WP_User|false
. Объект данных WP_User. false — если не удалось найти указанного пользователя.
С версии 3.2 возвращаемые данные немного изменились: возвращается объект WP_User. Данные в объекте разбиваются на группы: data, caps, roles (раньше данные возвращались в общем списке). Однако, благодаря "волшебным" (служебным) методам PHP, данные можно получить как и прежде. Например, сейчас данные хранятся так: get_userdata()->data->rich_editing, но получить их можно так: get_userdata()->rich_editing, несмотря на то, что var_dump() не покажет эту взаимосвязь.
Использование
get_userdata( $user_id );
- $user_id(число) (обязательный)
- ID пользователя, данные которого нужно получить.
Примеры
#1 Как выводить данные из полученного объекта данных
$user_info = get_userdata(1); echo 'Имя пользователя: ' . $user_info->user_login . "\n"; echo 'Уровень доступа: ' . $user_info->user_level . "\n"; echo 'ID: ' . $user_info->ID . "\n"; /* Выведет: Имя пользователя: admin Уровень доступа: 10 ID: 1 */
#2 Данные в переменную
Еще одни пример, только тут запишем данные сначала в переменные, а затем выведем из на экран:
$user = get_userdata( 1 ); $username = $user->user_login; $first_name = $user->first_name; $last_name = $user->last_name; echo "$first_name $last_name зашел(а) на сайт под логином: $username."; /* Объект $user: WP_User Object( [data] => stdClass Object( [ID] => 80 [user_login] => kogian [user_pass] => $P$BJFHKJfUKyWv1TwЛОВАЕnYU0JGNsq. [user_nicename] => kogian [user_email] => kogian@yandex.ru [user_url] => http://example.com/ [user_registered] => 2016-09-01 00:34:42 [user_activation_key] => [user_status] => [display_name] => kogian ) [ID] => 80 [caps] => Array( [subscriber] => 1 ) [cap_key] => wp_capabilities [roles] => Array( [0] => subscriber ) [allcaps] => Array( [read] => 1 [level_0] => 1 [subscriber] => 1 ) [filter] => [site_id:WP_User:private] => 1 ) */
#3 Методы класса
Получаемый объект с помощью get_userdata() - это экземпляр класса и у него есть методы, которые можно использовать. Иногда это может пригодится. Вот простой пример получения опции пользователя, с помощью метода $user->get():
$user = get_userdata(1); echo $username = $user->get('user_login');
Список некоторых методов:
Функция | Описание |
---|---|
WP_User::get( $key ) | Retrieves the value of a property or meta key. |
WP_User::has_prop( $key ) | Determines whether a property or meta key is set. |
WP_User::has_cap( $cap, ...$args ) | Returns whether the user has the specified capability. |
WP_User::get_role_caps( ) | Retrieves all of the capabilities of the user's roles, and merges them with individual user capabilities. |
WP_User::add_role( $role ) | Adds role to user. |
WP_User::remove_role( $role ) | Removes role from user. |
WP_User::set_role( $role ) | Sets the role of the user. |
Список изменений
С версии 0.71 | Введена. |
Код get_userdata() get userdata WP 6.6.2
function get_userdata( $user_id ) { return get_user_by( 'id', $user_id ); }