Таблица wp_signups
Таблица wp_signups
является ключевым компонентом сети сайтов WordPress Multisite. Она временно хранит информацию о пользователях, которые зарегистрировались на сайте, но еще не активировали свои учетные записи путем перехода по ссылке в электронном письме.
Поля
Поле | Тип данных | Описание |
---|---|---|
signup_id |
bigint(20) |
Уникальный идентификатор (первичный ключ) для каждой заявки на регистрацию. Значение автоматически инкрементируется. |
domain |
varchar(200) |
Домен, на котором была совершена регистрация. Для регистрации пользователя (а не сайта) обычно содержит основной домен сети. |
path |
varchar(100) |
Путь на домене, где была совершена регистрация. Для подсайтов это может быть путь типа /blogname/ , для пользователей - корневой путь / .
|
title |
longtext |
Заголовок для заявки на создание нового сайта. Для заявок на регистрацию пользователя это поле обычно пустое. |
user_login |
varchar(60) |
Желаемое имя пользователя (логин), указанное при регистрации. |
user_email |
varchar(100) |
Адрес электронной почты, указанный при регистрации. На этот email отправляется письмо с ссылкой для активации учетной записи. |
registered |
datetime |
Дата и время отправки формы регистрации. |
activated |
datetime |
Дата и время активации учетной записи пользователем (переход по ссылке из email). До активации имеет значение 0000-00-00 00:00:00. |
active |
tinyint(1) |
Флаг, указывающий статус заявки. 0 - не активирована, 1 - активирована. После активации и переноса данных в таблицы wp_users и wp_site (если применимо) запись не удаляется сразу.
|
activation_key |
varchar(50) |
Уникальный случайный ключ (токен), который используется для подтверждения регистрации. Этот ключ является частью ссылки, отправляемой на email пользователя. |
meta |
longtext |
Поле для хранения дополнительной мета-информации о регистрации в сериализованном формате (массив PHP). Может содержать такие данные, как пароль (временно), язык сайта, публичное название сайта для регистраций нового сайта. |
Как это работает
Когда новый пользователь заполняет форму регистрации на сайте сети WordPress Multisite, вместо немедленного создания записи в wp_users
система создает запись в таблице wp_signups
. Этой записи присваивается статус "неактивированной" (active
= 0
).
На указанный email отправляется письмо со специальной ссылкой, содержащей уникальный activation_key
. Пока пользователь не перейдет по этой ссылке, его учетная запись не будет активна, и он не сможет войти на сайт.
Когда пользователь переходит по ссылке активации, WordPress находит запись в wp_signups
по совпадению activation_key
, обновляет поля activated
(текущее время) и active
(в 1
). После этого данные пользователя (логин, email, пароль из поля meta
) переносятся в основную таблицу пользователей wp_users
, и учетная запись становится полностью активной.
Записи из wp_signups
удаляются не сразу. Планировщик WordPress (Cron) периодически запускает задачу wp_delete_signups
, которая удаляет старые, неактивированные заявки (по умолчанию через 2
суток) и уже активированные записи (по умолчанию через 1
сутки после активации).
Пример SQL-запроса
Посмотреть все неактивированные заявки, которым больше двух дней, можно следующим запросом:
SELECT *
FROM wp_signups
WHERE active = 0
AND registered < DATE_SUB(NOW(), INTERVAL 2 DAY);
Найти конкретную заявку по ключу активации (например, для отладки):
SELECT signup_id, user_login, user_email, activated
FROM wp_signups
WHERE activation_key = 'a1b2c3d4e5f67890';
Смотрите также
-
таблицу
wp_users
,
которая хранит данные активных пользователей -
таблицу
wp_usermeta
,
которая хранит дополнительную мета-информацию о пользователях -
таблицу
wp_blogs
,
которая хранит список сайтов в сети Multisite