ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
9 of 21 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

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