Тестовое задание выполнено с использованием плагина ACF.
Мной написаны 2 плагина для реализации кастомных каталогов (item и store) и системы авторизации/регистрации/восстановления пароля, соответственно.
Плагин авторизации независим от других компонентов и использует шорткоды для интеграции в контент страницы. Взаимодействие фронт-бэк реализовано через Ajax-запросы.
Плагин каталогов зависим от ACF-полей и также использует шорткоды для интеграции, но уже на стороне бэкенда дочерней темы. Плагин добавляет, помимо основных элементов item, дополнительный тип публикаций store для демонстрации усложнённой системы фильтрации товаров. Также плагин добавляет систему пользовательского рейтинга — авторизованные пользователи могут выставлять оценки товарам. Взаимодействие фронт-бэк также реализовано через Ajax-запросы, в том числе автоподгрузка элементов каталога.
Также можно было реализовать функционал в рамках дочерней темы. Также можно было реализовать плагин каталогов через стандартные мета-поля или через отдельную таблицу в БД, но я не стал, т.к. это более сложный и долгий способ.
Дополнительно реализована система поиска товаров по каталогу. Для поиска по названиям требуется ввести минимум 3 символа.
Не доделано: мобильный адаптив, дизайн и наполнение отдельных страниц item и store, функционал более гибкой настройки через админку.
На работу ушло 14 часов.