WordPress хранит пользовательские данные в таблице wp_users
, которая связана с wp_posts
и wp_comments
:
WordPress также хранит пользовательские данные в двух других таблицах:
- Дополнительные метаданные о пользователях хранятся в таблице
wp_usermeta
- Данные о комментаторах, которые не вошли в систему, хранятся в таблице
wp_comments
.
В этой части моей серии о данных в WordPress я расскажу о том, как WordPress хранит пользовательские данные и как вы можете получить к ним доступ, прежде всего сосредоточившись на таблице wp_users
.
Таблица wp_users
В таблице wp_users
хранится вся основная информация о каждом пользователе. Имеет следующие поля:
поле | Что это хранит | Примечания |
---|---|---|
ID |
идентификатор пользователя | автогенерируемая |
user_login |
имя пользователя | требуется |
user_pass |
пароль | автоматически генерируется, если не предоставлено при регистрации |
user_nicename |
прозвище | генерируется автоматически, если не введено вручную |
user_email |
Адрес электронной почты | требуется |
user_url |
интернет сайт | не требуется |
user_registered |
дата и время, когда пользователь впервые зарегистрировался | автогенерируемая |
user_activation_key |
ключ активации пользователя | автогенерируемая |
user_status |
статус хранится в виде числа — это сообщает WordPress, подтвердил ли пользователь, например, регистрацию по электронной почте. Он не хранит роли пользователей. | автогенерируемая |
display_name |
публично отображаемое имя | генерируется автоматически, если не введено вручную |
Как видите, все поля, кроме одного ( user_url
), являются обязательными при регистрации или генерируются автоматически.
Метаданные пользователя
Как и данные в wp_users
, есть данные, которые создаются для всех пользователей, но хранятся в таблице wp_usermeta
, такие как роли и возможности. Эта таблица также используется для хранения дополнительных настроек для улучшения взаимодействия с пользователем, таких как выбранная цветовая схема администратора и настройки панели администратора и отображения панели мониторинга.
Это таблица, которую вы должны использовать, когда хотите создать дополнительные поля для пользователей через вашу тему или плагин — вы никогда не должны добавлять поля в основную таблицу wp_users
.
Каждая запись в таблице wp_usermeta
имеет четыре поля:
-
ID
— идентификатор записи -
user_id
— который связан сwp_users
-
meta_key
-
meta_value
Чтобы создать новую запись метаданных пользователя, вы используете add_user_meta()
:
1
|
add_user_meta( $user_id, $meta_key, $meta_value, $unique );
|
Четвертый параметр для этой функции ( $unique
) является необязательным и указывает, должно ли значение в поле meta_key
быть уникальным.
Добавив метаданные пользователя, вы можете вывести их на страницу автора каждого пользователя с помощью get_user_meta()
или создать список всех пользователей с заданным значением для указанного ключа.
Я расскажу об этом последнем варианте более подробно в следующем уроке, где я рассмотрю метаданные и таксономии.
Отношения между пользователями и другим контентом
Пользователи могут быть связаны с двумя типами контента: сообщения и комментарии. В случае постов всегда будет пользователь, который будет автором. Связь между полем post_author
в wp_posts
и полем ID в wp_users
.
Комментарии не всегда имеют ссылку на таблицу wp_users
: она будет создаваться только в том случае, если комментатор вошел в систему. Если это так, связь между ID
в wp_users
и user_ID
в wp_comments
.
Если комментатор не является пользователем, вошедшим в систему, то его данные будут записаны непосредственно в таблицу wp_comments
с использованием полей comment_author
, comment_author_email
, comment_author_url
и comment_author_IP
.
Резюме
Пользователи имеют основополагающее значение для установки WordPress. Без них у вас нет администратора сайта и авторов для создания контента.
WordPress хранит основные данные о пользователях в таблице wp_users
а также использует таблицу wp_usermeta
для дополнительных метаданных. Он также связывает пользовательские данные с wp_posts
таблице wp_posts
и с комментариями в таблице wp_comments
.