ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
20 of 21 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

Таблица 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 (текущее время) и active1). После этого данные пользователя (логин, 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