Входные параметры.
Сайт работает на CMS WordPress с купленной премиумной темой Course Builder (
, интегрированными плагинами системы управления образованием LearnPress, электронной коммерции WooCommerce, визуальным конструктором страниц WPBakery Page Builder и сторонними плагинами для работы с медиа-файлами WP Media Folders (версия 5.2.5) и WP Media folders (версия 1.1.10) и Lightbox-плагином LightZoom (версия 1.0.0,
, а также другими плагинами и дополнениями, включенными в премиумную тему (см. документацию темы по ссылке выше).
Необходимо.
Сохранив полную работоспособность сайта, реализовать новый функционал согласно нижеследующему пункту путём внесения изменений в код установленной темы, плагинов и/или дополнений или установки и настройки дополнительных плагинов и/или дополнений.
Допускается потеря возможности автоматического обновления темы, плагинов и дополнений, в чей код были внесены изменения в ходе реализации нового функционала.
Изменения в коде должны быть запротоколированы, ли при завершении задачи, можно еще раз перенести в проект код с записью экраны, для возможности дальнейшего протоколирования изменений.
Обязателен опыт работы с LearnPress. При успешном выполнения заказа могу предложить еще задачи по модернизации данного плагина.
Новый функционал.
Консоль администрирования WordPress.
В настройках курсов назначается вариант доступа «по ответу на контрольный вопрос». При включенной опции появляется возможность вести базу вопросов с ответами. Каждому курсу сопоставляется свой набор вопросов. Количество вопросов не ограничено, для каждого вопроса указывается один ответ. В наборе обязательно наличие минимум одного вопроса. При большом количестве вопросов, они разбиваются на страницы. Поле ввода вопросов масштабируется.
Ведение базы вопросов осуществляет администратор или автор курса. Для каждого курса можно задавать максимальное количество попыток для правильного ответа.
Каждая попытка доступа фиксируется в таблице следующей структуры: имя и ID пользователя, название и ID курса, количество попыток, дата и время последней попытки.
Доступ на чтение к таблице имеют авторы (пользователи с ролью «Преподаватель»), полный доступ администратор. Полный доступ подразумевает возможность очищать базу и менять количество попыток (как в целом для базы, так и для конкретного пользователя). При просмотре списка есть возможность наложение фильтра просмотра по пользователю или курсу.
При правильном ответе на контрольный вопрос курс открывается пользователю на неограниченное время (т.е. привязка к профилю). Появляется соответствующее сообщение на экране и приходит письмо с информацией о доступе к курсу.
Карточка курса (Frontend).
При включенной опции появляется возможность ответить на контрольный вопрос и получить доступ к курсу. Вопрос выбирается случайным образом. При обновлении страницы вопрос не меняется, меняется только при неправильном ответе.
Если для курса задан лимит попыток для ответов, то пользователю выдается соответствующее сообщение.