Таблица wp_users
Таблица wp_users
является центральной таблицей для хранения всех зарегистрированных пользователей сайта на WordPress. Каждая запись в этой таблице соответствует одному уникальному пользователю и содержит его учетные данные (логин и хэш пароля), электронную почту, а также метаданные, связанные с учетной записью.
Поля
Поле | Тип данных | Описание |
---|---|---|
ID |
bigint(20) unsigned |
Уникальный идентификатор пользователя. Автоинкрементное поле, является первичным ключом таблицы. |
user_login |
varchar(60) |
Уникальное имя пользователя для входа в систему. |
user_pass |
varchar(255) |
Хэш пароля пользователя. Пароли хэшируются с помощью современного и безопасного алгоритма. |
user_nicename |
varchar(50) |
"Красивое" имя пользователя, часто используемое в URL-адресах (например, в ссылках на автора). Обычно это имя пользователя в удобном для URL формате (строчные буквы, дефисы вместо пробелов). |
user_email |
varchar(100) |
Электронная почта пользователя. Должна быть уникальной для каждой учетной записи. |
user_url |
varchar(100) |
URL веб-сайта пользователя. Может быть пустым. |
user_registered |
datetime |
Дата и время регистрации пользователя. Устанавливается в момент создания учетной записи. |
user_activation_key |
varchar(255) |
Ключ активации, используемый для сброса пароля или подтверждения регистрации по email. |
user_status |
int(11) |
Историческое поле, которое ранее использовалось для отметки спам-аккаунтов. В современных версиях WordPress обычно равно 0 .
|
display_name |
varchar(250) |
Имя, которое отображается для пользователя на сайте (например, в записях как имя автора). Может быть составлено из имени и фамилии или быть тем же, что и логин. |
Как это работает
При регистрации нового пользователя (через форму регистрации или в панели администратора) в таблицу wp_users
добавляется новая запись. Поле user_pass
хранит не сам пароль, а его хэш, созданный функцией wp_hash_password()
. Это обеспечивает безопасное хранение конфиденциальных данных.
Для аутентификации пользователя WordPress сравнивает хэш введенного пароля с хэшем, хранящимся в базе данных. Идентификатор пользователя ID
является основным ключом, который связывает эту таблицу со многими другими таблицами WordPress, такими как wp_posts
(post_author
) и wp_comments
(user_id
).
Важно отметить, что таблица wp_users
хранит только базовую информацию. Дополнительные данные о пользователе (например, имя, фамилия, никнейм, дополнительные контактные данные) хранятся в таблице wp_usermeta
в виде пар "ключ-значение". Это обеспечивает гибкость и позволяет легко добавлять новые поля без изменения структуры основной таблицы.
Поле user_status
в настоящее время практически не используется. Для управления статусом пользователя (например, для отметки о спаме или блокировки) следует использовать возможности ролей и возможностей (Capabilities) WordPress или хранить соответствующий флаг в wp_usermeta
.
Пример SQL-запроса
Выбрать логин, email и дату регистрации для всех пользователей, зарегистрированных за последний месяц, можно следующим запросом:
SELECT user_login, user_email, user_registered
FROM wp_users
WHERE user_registered >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
ORDER BY user_registered DESC;
Получить ID и отображаемое имя пользователя по его email:
SELECT ID, display_name
FROM wp_users
WHERE user_email = 'user@example.com';
Смотрите также
-
таблицу
wp_usermeta
,
которая хранит метаданные пользователей -
таблицу
wp_posts
,
в которой полеpost_author
ссылается наwp_users.ID
-
таблицу
wp_comments
,
в которой полеuser_id
ссылается наwp_users.ID