В 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
Поставила плагин на сайте(Вордпресс) для регистрации на русском языке и нужно теперь прописать в базе данных sql, в таблице wp_users, в колонке user_nicename разрешение на запись большего количества символов из 50 по умолчанию до 255.
Как прописать и что сделала не так не подскажете?
Пробовала, не сработало:
ALTER TABLE wp_users ALTER COLUMN user_nicename varchar(200) NOT NULL
ALTER TABLE `wp_users` CHANGE `user_nicename` `user_nicename` VARCHAR(255) NOT NULL DEFAULT »; -ошибка #1067