Работа с данными в WordPress. Часть 5: Работа с пользовательскими данными в WordPress
В WordPress пользовательские данные хранятся в таблице wp_users, которая соединена с таблицами wp_posts и wp_comments:
Также пользовательские данные в WordPress хранятся и в двух других таблицах:
- Дополнительные мета-данные, связанные с пользователями, хранятся в таблице wp_usermeta
- Данные о незарегистрированных комментаторах хранятся в таблице wp_comments
В этой статье из серии мы посмотрим на то, как WordPress хранит пользовательские данные, а также как вы можете получить к ним доступ; сначала мы сконцентрируемся на таблице wp_users.
Таблица wp_users
Таблица wp_users хранит всю базовую информацию о каждом пользователе. Она имеет следующие поля:
Поле | Что оно хранит | Примечания |
---|---|---|
ID |
ID пользователя | автоматически генерируется |
user_login |
имя пользователя | обязательное |
user_pass |
пароль | автоматически генерируется, если не был получен при регистрации |
user_nicename |
никнейм | автоматически генерируется, если не был введен |
user_email |
почтовый адрес | обязателен |
user_url |
веб-сайт | не обязателен |
user_registered |
дата и время первой регистрации пользователя | автоматически генерируется |
user_activation_key |
ключ активации пользователя | автоматически генерируется |
user_status |
статус, хранящийся в виде числа – с его помощью можно определить, подтвердил ли пользователь регистрацию по почте, к примеру. Он не сохраняет пользовательские роли. | автоматически генерируется |
display_name |
публично отображаемое имя | автоматически генерируется, если не было введено вручную |
Как вы можете видеть, все за исключением одного поля (user_url) являются либо обязательными при регистрации, либо автоматически сгенерированными.
Пользовательские мета-данные
Как и данные в wp_users, пользовательские мета-данные создаются для всех пользователей, однако хранятся в таблице wp_usermeta – сюда можно отнести, к примеру, роли и возможности. Эта таблица также используется для хранения дополнительных параметров, позволяющих улучшить опыт взаимодействия – к примеру, выбранная цветовая схема панели администратора, параметры вывода админ-бара и консоли.
Именно эту таблицу вы должны использовать, когда вы хотите создать дополнительные поля для пользователей в вашей теме или плагине – вы никогда не должны добавлять поля к главной таблице wp_users.
Каждая запись в таблице wp_usermeta имеет четыре поля:
- ID – ID записи в таблице
- user_id – связан с wp_users
- meta_key
- meta_value
Чтобы создать новую запись в таблице с метаданными пользователей, вы можете воспользоваться функцией add_user_meta():
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_comments.
Источник: code.tutsplus.com
Добрый день! Подскажите, (прямо пальцем можно ткнуть) -где искать эти таблицы, чтобы просмотреть данные? Интересует таблица wp_users. А глобальный вопрос: есть 2 формы, через которые поступают вопросы и пользователи оставляют свою почту и/или телефон (только не путать с формами комментариев под статьями, речь идет об общих контактных формах) -где в wordpress я могу найти эти данные? Я не продвинутый пользователь, поэтому заранее благодарю за доступный в понимании- ответ.