Переопределение шаблонов
Woo2iiko использует шаблоны для вывода на фронтенд. Их можно переопределять в теме.
Как переопределять
Шаблоны загружаются через iiko_get_template($template_name, $args):
- Плагин ищет шаблон в теме:
wp-content/themes/ваша-тема/woo2iiko/{template_name}. - Если нет — берёт дефолтный из плагина:
templates/{template_name}.
Не редактируйте файлы плагина
Правки в templates/ плагина потеряются при обновлении. Копируйте шаблон в тему и правьте там.
Структура шаблонов
Основные группы шаблонов:
templates/
├── admin/ # админ-страницы
├── woocommerce/ # фронтенд (checkout, товар, письма)
│ ├── modal/ # модальные окна
│ ├── tables/ # pay-by-table
│ ├── point_checker/ # выбор точки
│ └── telegram/ # шаблоны Telegram-сообщений
├── zone-checker/ # виджет зоны
└── email/ # email-шаблоны (auth-code)Модальные окна (Modal)
Универсальный модуль Modal для модальных окон:
- Шорткод
[modal]. - Программный API:
Modal::create(),Modal::create_link().
Шорткод [modal]
text
[modal id="my-modal" title="Заголовок" content="Текст"]| Атрибут | Назначение |
|---|---|
id | ID модалки. |
title, subtitle | Заголовок/подзаголовок. |
content / html | Содержимое. |
class, link_class | CSS-классы. |
display | Способ показа. |
return | Возвращать HTML (true) или выводить. |
close | Кнопка закрытия. |
Шаблоны модалок
templates/woocommerce/modal/modal.php— каркас.templates/woocommerce/modal/content/*.php— варианты содержимого (blank,settings,form-login).templates/woocommerce/modal/closed-schedule.php— модалка закрытого ресторана (<dialog>).
CSS/JS
assets/css/modal.css.assets/js/modal.js.
Замена текста
Для замены выводимых строк используйте стандартные фильтры локализации WordPress (gettext) или настройки текстов в плагине (например, iiko_sms_text, iiko_bonuses_hint, iiko_checkout_description).
Кастомные настройки
Модуль UserPluginSettings и фильтр iiko_fields позволяют добавлять свои поля настроек. См. Хуки для разработчиков.
Пример переопределения
Допустим, хотите изменить шаблон карточки заказа thank-you:
- Найдите шаблон в плагине (например,
templates/woocommerce/checkout/progress-bar.php). - Скопируйте в
wp-content/themes/ваша-тема/woo2iiko/woocommerce/checkout/progress-bar.php. - Отредактируйте копию в теме.