get_user()
Получает объект пользователя на основе его числового ID.
Это обёртка для упрощения над get_user_by( 'id', $user_id ), когда нужен именно поиск по ID.
Заметки:
- При передаче 0 или несуществующего ID будет возвращено false, поэтому перед работой с возвращаемым значением всегда проверяйте его через
instanceofили=== false. - Результат работы кэшируется в кэш объектов.
Работает на основе: get_user_by()
Хуков нет.
Возвращает
WP_User|false.
- Объект WP_User с данными пользователя.
falseпри ошибке поиска - при передаче 0 или несуществующего ID.
Использование
get_user( $user_id );
- $user_id(int) (обязательный)
- Номер пользователя, которого нужно получить.
Примеры
#1 Получим пользователя по ID
$user = get_user( 42 );
if( $user ){
echo esc_html( $user->display_name );
} #2 Текущий авторизованный пользователь
Комбинация с get_current_user_id() позволяет безопасно получить объект текущего пользователя.
$current_user = get_user( get_current_user_id() );
if ( $current_user ) {
// Работаем с данными
/*
WP_User Object (
[ID] => 10
[data] => stdClass Object (
[ID] => 10
[user_login] => my_login
[user_pass] => $P$B/Nlwo345D6___MNOMdT66.x0
[user_nicename] => my_login
[user_email] => example@gmail.com
[user_url] =>
[user_registered] => 2010-03-26 09:27:40
[user_activation_key] => 16212384:$P$By__aWu.Pe4Uw.MUh__59zc1
[user_status] => 1760048562
[display_name] => User Name
)
[caps] => Array (
[administrator] => 1
)
[cap_key] => wp_capabilities
[roles] => Array(
[0] => administrator
)
[allcaps] => Array(
[switch_themes] => 1
[edit_themes] => 1
[activate_plugins] => 1
[edit_plugins] => 1
[edit_users] => 1
[edit_files] => 1
[manage_options] => 1
...
)
[filter] =>
[site_id:WP_User:private] => 1
)
*/
} #3 Обработка когда пользователь не найден
Пример демонстрирует, как корректно обработать ситуацию, когда пользователь не найден.
$user = get_user( 999 );
if ( ! $user ) {
wp_die( 'Пользователь не найден' );
}
Список изменений
| С версии 6.7.0 | Введена. |
Код get_user() get user WP 6.8.3
function get_user( $user_id ) {
return get_user_by( 'id', $user_id );
}