Статьи

Понимание и работа с пользовательскими данными в WordPress

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

WordPress также хранит пользовательские данные в двух других таблицах:

  • Дополнительные метаданные о пользователях хранятся в таблице wp_usermeta
  • Данные о комментаторах, которые не вошли в систему, хранятся в таблице wp_comments .

В этой части моей серии о данных в WordPress я расскажу о том, как WordPress хранит пользовательские данные и как вы можете получить к ним доступ, прежде всего сосредоточившись на таблице 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 .