Управление адресами (Address Manager)
Модуль AddressManager + WooAccount — управление сохранёнными адресами клиентов и личным кабинетом.
Включение
| Настройка | Ключ | По умолчанию | Назначение |
|---|---|---|---|
| Включить Address Manager | iiko_address_manager_enabled | yes | Хранение адресов. |
| Автовыбор последнего | iiko_address_manager_auto_select_last | yes | Подставлять последний адрес на checkout. |
Сохранённые адреса
Клиент может хранить несколько адресов:
- Личный кабинет → Адреса — список, добавление, редактирование, удаление.
- В карточке адреса: улица, дом, корпус, строение, подъезд, этаж, квартира, домофон, координаты.
- Добавление/редактирование — в модальном окне.
- Обратный геокодинг при неполных данных (определение адреса по координатам).

REST API адресов
CRUD через REST (/wp-json/woo2iiko/v1/addresses):
| Метод | Эндпоинт | Назначение |
|---|---|---|
| GET | /addresses | Список адресов пользователя. |
| POST | /addresses | Добавить адрес. |
| GET | /addresses/{id} | Получить адрес. |
| PUT/PATCH | /addresses/{id} | Обновить адрес. |
| DELETE | /addresses/{id} | Удалить адрес. |
| GET | /address-form | Форма адреса. |
| GET | /addresses/html | HTML списка адресов. |
Все требуют авторизации (checkUserPermission — logged-in + X-WP-Nonce).
Выбор на checkout
- Если
iiko_address_manager_auto_select_last = yes— последний адрес подставляется автоматически. - Клиент может выбрать сохранённый адрес из списка.
- Координаты адреса используются для расчёта зоны доставки.
Шорткод и блок
- Gutenberg-блок iiko/saved-addresses.
- Шорткод
[iiko_saved_addresses].
Личный кабинет (WooAccount)
Модуль WooAccount расширяет личный кабинет WooCommerce:
- Подмена шаблона
myaccount/form-edit-account.php. - AJAX-обновление профиля.
- Синхронизация данных с iiko при загрузке страницы редактирования.
- Скрытие пунктов меню:
dashboard,downloads,payment-methods. - Условные поля пароля (если SmsAuth выключен).
Поля профиля
iiko_id,iiko_phone,iiko_email,iiko_name.iiko_middleName,iiko_surName(отчество, фамилия).iiko_birthday,iiko_sex.iiko_referrer,iiko_consentStatus.iiko_addresses.
Валидация
- Телефон — нормализация.
- Email — уникальность.
- День рождения — формат Y-m-d, диапазон.
- Пол — 1 или 2.