Разработка личного кабинета для пользователей WordPress
Периодически в практике встречаюсь с необходимостью разработки личного кабинета пользователя на фронтенде WordPress.
Штатно, WP не предоставляет вообще никаких видов кабинетов пользователя. Можно лишь использовать урезанную админку самого вордпресса, но это далеко не всегда удобно, да и не красиво.
Поэтому собственно возникла необходимость придумать какой-то вариант выхода.
Пробовал использовать различные плагины, но как правило они ну очень уже кривые визуально и чтобы настроить все красиво приходится тратить огромное количество времени на доработку этих кабинетов.
Затем я решил самостоятельно разработать нужный мне кабинет с нужным мне, а точнее заказчику, функционалом, с числе которого:
- внутрисайтовый кошелек, со всеми основными возможностями по зачислению, учету и списанию средств внутри кабинета
- Отображение текущих и выполненных сделок (заносится админом и отображаются у всех пользователей)
- Возможность редактирования своих личных данных
- Другой функционал
С нуля, разработка и верстка такого кабинета, конечно, заняла бы недопустимое время. Поэтому было принято решение использовать CSS фреймворк patternfly для как раз этих целей.
Для организации входа в личный кабинет была использована штатная система Вордпресса с визуальной доработкой
Patternfly — удобная система, которая позволяет как раз сделать личный кабинет, со всеми необходимыми функциями и минимальным интерфейсным программированием. В текущей версии я не использовал react.js, но в следующем варианте кабинета уже буду прикручивать его, чтобы упростить процесс разработки.
Для связи ядра вордпресс и самого кабинета я создал PHP-класс, в который инкапсулировал все функции взаимодействия. Но его, конечно, еще нужно будет документировать и универсализировать, постараюсь все привести в порядок и выложить на ГИТ. Также необходимо доработать хуки, для возможности расширения функционала, я кое что добавил, но этого явно маловато для полноценного проекта.
Буду рад комментариям и мнениям по поводу создания личного кабинета пользователя для WordPress.