Надстройка для админки Wordpress – выборка/группировка юзеров из БД
Цветочкин6 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
16.09.2019
Автоматизация функций администратора вебсайта https://opinionvox.com/ (бэкенд интерфейс) панели проведения публичных опросов. Вероятно хорошим вариантом будет использовать AngularJS UI Grid.
Требуется реализация дополнительного интерфейса в админке вордпресс (плагин, с последующим расширением его функций).
Вводные данные (показаны лишь основные моменты для понимания смысла) о системе с которой предстоит работа:
- Вебсайт клиента предназначен для проведения публичных опросов через интернет. Желающие принять участие в опросе - регистрируются на вебсайте, указывают подробные данные о себе, получают письмо со ссылкой активации аккаунта. После активации аккаунта, указывают дополнительные данные профиля уже будучи залогиненными.
- Профили зарегистрированных пользователей - это юзеры вордпресса + дополнительные поля с данными профиля (плагин Ultimate member https://wordpress.org/plugins/ultimate-member/).
- Далее, администратор сайта создает форму опроса (плагин wpforms https://wpforms.com), публикует ее на сайте в виде страницы с паролем (вставка опроса на страницу осуществляется через шорткод wpforms). Каждый опрос имеет уникальный идентификатор + имя.
- Далее, администратор осуществляет выборку по подходящих для опроса профилей (на основе введенных пользователями данных), создает группу с выборкой, отправляет ей почтовое сообщение (плагин mailster https://mailster.co/) c приглашением и ссылкой на опрос + паролем.
Какие функции требуется реализовать:
- Чтение данных о зарегистрированном пользователе вордпресс и различных его атрибутах (ориентировочно 20 полей для пользователя) из БД.
- Данные вордпресс + ultimate member - все поля профиля пользователя, которые вводятся при регистрации на сайте + 3 дополнительных поля вводимых позже (также данные ultimate member) https://docs.ultimatemember.com
- Табличное отображение информации о пользовательских профилях с сортировкой
- Выборка и фильтры по любому атрибуту каждой учетной записи + И множественные условия (+ добавить условие. Пример: “страна: камбоджа И возраст 20-25 И доход 1000+)
- Отображение колонки “профиль активен” (активирован через почту) и возможность фильтра по ней (например для очистки базы от неактивных)
- Массовое удаление в соответствие с настройками фильтра
- Создание групп учетных записей из различных выборок и их сохранение в интерфейсе (группы собираются для проведения опросов), экспорт групп в CSV
- Операции над созданными группами и заказчиками (заказчик - это компания заказывающая проведение опроса и оплачивающая его)
- Просмотр истории опросов / заказчиков
- Прикрепить Заказчика
- Статус - идет опрос/опрос завершен. Отобразить - установить флаг.
- Создать “список рассылки” в плаге mailster через API (https://kb.mailster.co/mailster-for-developers/) - передать данные из созданной группы.
- Удалить группу (удаление группы НЕ ведет к удалению профилей в основной базе)
- Заказчики
- Создание списка, изменения - 1 строка описание заказчика и его задачи
- Прикрепление проводимого опроса к заказчику (id опроса и имя + выбор из БД - плаг wpforms https://developers.wpforms.com/)
Данные, которые должна учитывать реализация задачи:
- Таксономия групп
- Таксономия заказчиков
Необходимо реализовать компактный и удобный интерфейс с минимумом страниц. В дальнейшем его функционал будет расширяться, чтобы ввести сюда все остальные процессы (создание опроса, страниц итд).
Список действий:
- Работа с профилями (фильтры, выборки, создание групп, удаление итд)
- Работа с уже существующей группой (просмотр всех групп, создание почтового списка, заказчики, удаление группы итд)
- Работа с Заказчиками