Таблица 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