get_user_by()
Получает пользователя по указанному полю и значению этого поля (по ID, логину, почте).
Pluggable функция — эту функцию можно заменить из плагина. Это значит, что она будет работать (подключается) только после подключения всех плагинов, а до этого момента функция еще не определена... Поэтому нельзя вызывать эту и зависящие от неё функции прямо из кода плагина. Их нужно вызывать через хук plugins_loaded или позднее, например хук init.
Замена функции (переопределение) — в must-use или обычном плагине можно создать функцию с таким же названием, тогда она заменит текущую функцию.
Хуков нет.
Возвращает
WP_User|false
. Объект данных о пользователе, если указанное поле не существует, то вернет false.
Использование
$user = get_user_by( $field, $value );
- $field(строка) (обязательный)
Поле, по которому нужно получить пользователя. Может быть:
id
илиID
с WP 4.4. - по полю IDslug
- по полю user_nicenameemail
- по полю user_emaillogin
- по полю user_login
- $value(строка/число) (обязательный)
- Значение указанного поля.
Примеры
#1 Получим пользователя по email
Пример, родной функция WP, в которой используется get_user_by(). Функция получает пользователя по e-mail адресу, если пользователь существует, то будет возвращен его ID.
function email_exists( $email ) { if ( $user = get_user_by('email', $email) ) return $user->ID; return false; }
#2 Получим пользователя по id
$user = get_user_by('id', 1);
$user будет содержать:
WP_User Object ( [data] => stdClass Object ( [ID] => 1 [user_login] => kama [user_pass] => $P$Bu354452345AfDy0g3453245345345J/ [user_nicename] => kama [user_email] => tggagga@mail.ru [user_url] => [user_registered] => 2010-03-26 09:27:40 [user_activation_key] => [user_status] => [display_name] => Kama ) [ID] => 1 [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 [moderate_comments] => 1 [manage_categories] => 1 [manage_links] => 1 [upload_files] => 1 [import] => 1 [unfiltered_html] => 1 [edit_posts] => 1 [edit_others_posts] => 1 [edit_published_posts] => 1 [publish_posts] => 1 [edit_pages] => 1 [read] => 1 [level_10] => 1 [level_9] => 1 [level_8] => 1 [level_7] => 1 [level_6] => 1 [level_5] => 1 [level_4] => 1 [level_3] => 1 [level_2] => 1 [level_1] => 1 [level_0] => 1 [edit_others_pages] => 1 [edit_published_pages] => 1 [publish_pages] => 1 [delete_pages] => 1 [delete_others_pages] => 1 [delete_published_pages] => 1 [delete_posts] => 1 [delete_others_posts] => 1 [delete_published_posts] => 1 [delete_private_posts] => 1 [edit_private_posts] => 1 [read_private_posts] => 1 [delete_private_pages] => 1 [edit_private_pages] => 1 [read_private_pages] => 1 [delete_users] => 1 [create_users] => 1 [unfiltered_upload] => 1 [edit_dashboard] => 1 [update_plugins] => 1 [delete_plugins] => 1 [install_plugins] => 1 [update_themes] => 1 [install_themes] => 1 [manage_downloads] => 1 [manage_database] => 1 [democracy_admin] => 1 [update_core] => 1 [list_users] => 1 [remove_users] => 1 [add_users] => 1 [promote_users] => 1 [edit_theme_options] => 1 [delete_themes] => 1 [export] => 1 [administrator] => 1 ) [filter] => )
Заметки
- Global. WP_User. $current_user The current user object which holds the user data.
Список изменений
С версии 2.8.0 | Введена. |
С версии 4.4.0 | Added 'ID' as an alias of 'id' for the $field parameter. |
Код get_user_by() get user by WP 6.4.3
function get_user_by( $field, $value ) { $userdata = WP_User::get_data_by( $field, $value ); if ( ! $userdata ) { return false; } $user = new WP_User(); $user->init( $userdata ); return $user; }