Работа с данными в WordPress. Часть 5: Работа с пользовательскими данными в WordPress

Дата публикации:Август 28, 2014

В WordPress пользовательские данные хранятся в таблице wp_users, которая соединена с таблицами wp_posts и wp_comments:

users-table-and-related-tables

Также пользовательские данные в 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

Поделиться

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.