Admin Framework
Страница кастомных настроек
- Создаем шаблон в папке
tempaltes/admin/tabsпапка называется соответственно разделу настроек. echo AJAX::render_form_parts( '' ); // рендер части шаблона, можно перегрузить через jQuery
Создание стандартных настроек
my_section — ключ секции
add_filter('woocommerce_get_sections_iiko', function ($sections) {
return array_merge($sections, ['my_section' => esc_html__('My section', 'iiko')]);
},19);
add_filter('iiko_fields', function (?array $settings, ?string $section) {
$prefix = SettingsPage::PREFIX . 'table_';
if ('my_section' === $section) {
$_settings = [
[
'type' => 'title',
'name' => __('Ttitle', 'iiko'),
'desc' => '',
],
];
$_settings[] = ['type' => 'sectionend'];
}
$settings = array_merge($settings, $_settings);
},19,2);
Бонусы
Интеграция бонусов iikoCard
В плагине предусмотрена возможность оплаты заказа бонусами, с помощью бонусной программы iikoCard.
Описание программы iikoCard
При оплате заказа на счет гостя начисляются бонусы в размере 10% от суммы заказа. Бонусы начисляются на все товары, кроме алкогольных. Оплатить заработанными бонусами также можно все товары, кроме алкогольных, и не более 70% суммы заказа.
Создание бонусной программы в iikoCard
Чтобы создать бонусную программу:
- На портале iikoCard перейдите в раздел iikoCard → Программы.
- Нажмите кнопку Создать и введите наименование новой программы.
- В поле Тип программы выберите пункт «Бонусная программа», чтобы на счете гостя накапливались и списывались бонусы. Более подробное описание остальных параметров см. в разделе Создание программы.
Полную инструкцию смотрите тут https://ru.iiko.help/articles/#!iikocard/topic-50
Подключение в плагине
- Включите sms-авторизацию. Включите плагин Бонусов.

- Создайте новый тип оплаты — Бонусы (Бонусная программа). Подробнее тут.

- Выставите соответствие типа оплаты WooCommerce и iiko.

- Определите программу для новых пользователей по умолчанию.

- Проверьте работу операций с балансом пользователя в админке (вкладка Бонусы), что бы убедится, что все работает. (Номер можно вписать в любом формате)

- Выберите использовать бонусы при оформлении заказа.
Опция будет отображаться для всех клиентов, чей баланс удалось получить и он больше 0.

Быстрый старт
Быстрая настройка и запуск
Перед начало работы, необходимо выполнить полную настройку плагина.
Если настройки не будут заданы, плагин может работать не корректно!
Там есть кнопки массового удаления данных.
Порядок выполнения настройки
- Зайти во вкладку Импорт — Соединение, задать параметры соединения с iiko API. Как подключить API.
- Зайти в раздел Импорт — Организация, убедится, что связь с API установлена и вы видите список организаций.
- Выбрать Организацию (ресторан) по умолчанию.
- Выбрать Терминал (группу) доставки по умолчанию.
- Выбрать Категории товаров для импорта в WooCommerce и импортировать их.
В Номенклатуре iiko это группы!
Если список пуст, необходимо подготовить меню для внешних систем и произвести выгрузку меню в iiko. - Нажать кнопку запуска импорта товаров (рекомендуется в фоновом режиме).
Для запуска импорта в фоновом режиме включите автоматический импорт по расписанию в настройках плагина и проверьте, что петлевые запросы(loopback) работают. - Перейти в настройки. Выставить необходимые настройки импорта и отображения модификаторов.
- Перейти во вкладку Гео данные. Выбрать город (данные из iiko) сохранить изменения. Если список городов пуст, города необходимо выгрузить в API.
- Перейти во вкладку Платежи настроить соответствие типов оплаты в iiko и типов оплаты в WooCommerce. Соответствие типов сохраняется автоматически.
- Перейти во вкладку настроек Оформления заказа.
Если вам нужна платная доставка, то: Включите поддержку способов доставки WooCommerce. И передачу товара, как стоимости доставки.
Для этого перейдите в WooCommerce Основные настройки -> Локации доставки — Продавать во всех странах. Стандартное местоположение клиента — Местоположение магазина.
Перейдите во вкладку WooCommerce Доставка, задайте способы доставки Самовывоз и Единая ставка (с 0 стоимостью или стоимостью iiko-товара в качестве стоимости доставки).
Сохраните изменения. - Настройте callback на сайт из iiko, для обновления статуса заказа и стоп-листа. Настройки — Основные.
Там 2 поля — скопируйте данные из них и вставьте в интерфейс iiko web.
На этом базовая настройка закончена. Вы можете создать ваш первый заказ!
Самый популярный вопрос:
«Можно ли создать заказ с теми товарами, которые я вручную создал в WooCommerce?»
Импорт
Выгрузка меню iiko
Как сформировать и выгрузить меню iiko для импорта.
Актуальное меню предприятия с описанием и фотографиями блюд можно выгрузить в любую внешнюю систему через API, например, на сайт доставки или в iikoCard. Перед выгрузкой во внешние системы меню нужно предварительно подготовить в iikoOffice в окне Обмен данными → Выгрузка меню. Это может делать сотрудник с правом «Системное право: доступ к внешнему API» (S_API). После сохранения меню будет выгружаться автоматически с любой частотой, которую можно настроить в файле конфигурации сервера. В iikoCard меню выгружается один раз в сутки.
При необходимости меню можно выгрузить вручную с помощью кнопки Выгрузить. В выгружаемое меню помещаются блюда или другие элементы из номенклатурного справочника iiko. Их можно объединять в группы и строить структуру, которая отличается от стандартного справочника. Блюда могут иметь другие названия и картинки, отличающиеся от указанных в номенклатурных карточках. Как составить и выгрузить меню.
Чтобы сформировать и выгрузить меню:
-
- Настройте структуру меню. Можно добавить новые группы или использовать группы вместе с их элементами из номенклатурного справочника iiko.
- Чтобы создать новую группу, нажмите кнопку Добавить группу, введите Название, выберите Родительскую группу и нажмите кнопку Сохранить.
Если в верхней таблице не выделена ни одна группа, то по умолчанию создается группа самого высокого уровня. А если какая-нибудь строка выделена, то новая группа окажется внутри выделенной. - Чтобы добавить в меню группу из номенклатурного справочника iiko, выберите ее в нижней таблице и нажмите кнопку Добавить выбранные товары. Группа добавится со всеми ее элементами.
- Чтобы создать новую группу, нажмите кнопку Добавить группу, введите Название, выберите Родительскую группу и нажмите кнопку Сохранить.
- Добавьте в меню элементы номенклатурного справочника:
- В верхней таблице выберите группу, в которую добавляются элементы.
- В нижней таблице выберите элементы номенклатуры.
- Нажмите кнопку Добавить выбранные товары.
- Настройте структуру меню. Можно добавить новые группы или использовать группы вместе с их элементами из номенклатурного справочника iiko.
Для работы сразу с несколькими блюдами или группами выделите их с помощью клавиш Ctrl или Shift.
- Переместить блюдо в другую группу можно двумя способами:
- Откройте карточку элемента. В поле Родительская группа выберите название группы, в которую должен входить элемент меню. Нажмите кнопку Сохранить и закрыть.
- Выберите элемент меню и нажмите кнопку Переместить. В открывшемся окне со списком существующих групп выберите нужную и нажмите кнопку OK.
- При необходимости настройте каждое блюдо: введите другое название, описание, добавьте изображение — см. раздел «Настройки блюда» ниже.
- Нажмите кнопку Сохранить.
В пределах группы блюда можно менять местами. Для этого выбелите блюдо и нажмите кнопку или
Чтобы удалить элементы или группы, добавленные по ошибке, выберите их с помощью клавиш Ctrl или Shift, нажмите кнопку Удалить и подтвердите действие. Удалить элемент можно из его карточки. Для этого выполните двойной щелчок по его названию и нажмите кнопку Удалить из выгрузки. Настройки блюда Вся информация о блюде содержится в его карточке. На закладке Основные сведения находятся:
- Поля Название и Описание подставляются из номенклатурной карточки блюда. Их можно изменить, но потом они не будут синхронизироваться с карточкой. Чтобы при редактировании названия или описания в карточке изменения отражались и во внешнем меню, установите галочку Синхронизировать с карточкой номенклатуры.
- Данные в поле Техническая информация используется при выгрузке меню и обрабатывается внешней системой.
- Поле Теги является текстовым. Перечень тегов следует разделять знаком «;».
- В блоке Фото нажмите кнопку Выбрать, найдите изображение и нажмите кнопку Открыть. Размер фото должен быть меньше 10 Мб.
На закладке SEO находится информация для поисковой оптимизации:
- Описание для клиента (SeoDescription).
- Текст для роботов (SeoText). не используется
- Ключевые слова (SeoKeywords).
- Заголовок (SeoTitle).
![]()
Настройки блюда для внешнего меню
Импорт и Данные
Подключение сайта к API и импорт данных
Соединение
Переходим в настройки, вводим полученный API логин. Нажимаем Подключение к API. Далее произойдет проверка данных и установка соединения с Transport API.

Проверка соединения.
Импорт товаров и категорий.
После успешного соединения вы увидите выпадающий список подключенных ресторанов.
- Выберите ресторан
- Выберите терминал

Выбор терминала и ресторана. После выбора терминала, вам откроется окно импорта меню.

Выбор категорий и запуск импорта.
Выберите Категории для импорта и нажмите один из вариантов импорта: Ручной или Фоновый процесс.

Информация о текущем импортируемом товаре при ручном импортеИнформация о импортируемых товарах будет выведена сверху.Управление даннымиВо вкладке «Управление данными» вы можете выполнить принудительные запросы в API. А так же выполнить операции с данными WooCommerce и транзитным кешем и настройками.

Управление данными
Купоны
Промо-коды. Купоны на скидку
Скидки в виде процента или суммы, предоставляемые по купонам
Купон на скидку имеет уникальный код, который нужно указывать при оплате заказа. Использовать купон можно один или несколько раз. Это зависит от настроек, которые задаются при выпуске купонов. В рамках одного заказа разрешено использовать только один купон. Время действия купона зависит от времени действия акции, по которой его можно применить.
Быстрый старт
- Необходимо завести в iiko купон с процентной или фиксированной суммой скидки.
- На странице импорта нажать кнопку синхронизации купонов.
- На странице Купонов в WooCommerce вы увидите синхронизированные купоны. Обратите внимание, что название купона и его код полностью совпадают.
Если все сделано правильно, купон и скидка передадутся в iiko. Так же вы можете отдельно выставить настройку по которой, клиент сможет оформить заказ на сайте с купоном заведенным в WooCommerce и не имеющим синхронизации с iiko. Это может быть полезно в случаях когда вам нужно организовать «блюдо в подарок» по купону. Информация о скидке по таком купону не будет сохранена в iiko.
Как создать купоны в iiko.
Для этого функционала используется система локальных скидок iiko RMS (Retail Management System). Локальные скидки создаются в iiko Office. Локальные скидки с галочкой Устанавливать автоматически в API не доступны.
Дисконтная система — Скидки и надбавки. В iikoOffice выбираем пункт Дисконтная система -> Скидки и Надбавки. Жмем «Добавить».
Редактирование купона на скидку
Важно! Код купона создается из названия купона и полностью совпадает с ним.
Импорт и синхронизация купонов
Синхронизация.
Купоны могут синхронизироваться по нажатию кнопки или автоматически по расписанию.
При синхронизации по кнопке «Синхронизировать купоны» все данные купонов на сайте удаляются и создаются новые купоны путем импорта из iiko.
При синхронизации купонов по расписанию, автоматически удаляются только устаревшие купоны, создаются новые, данные уже импортированных купонов не изменяются.
Настройка во вкладке «Импорт», меню «Настройки»
Так же вы можете запустить процедуру полной синхронизации купонов на странице импорта. В этом случае удаляются все купоны WooCommerce и создаются новые купоны, импортированные из iiko.Плагин обрабатывает 2 вида купонов на скидку:
- Процентная скидка на общую сумму заказа
- Процентная скидка на Категорию iiko (не путайте с группами!)
Список импортированных купонов
Применение купона при оформлении заказа. Для корректной работы скидок необходимо выставить правильное число дробных знаков (2) в настройках валюты woocommerce.
Модификаторы
Модификаторы и Размеры
Основная информация
Основную информацию по модификаторам смотрите в разделе настройки товара.
Одиночные
могут быть представлены в виде поля с числовым вводом или в виде чек-бокса.
Групповые — одиночные/обязательные
Если вы хотите использовать такой тип модификатора вам необходимо проставить ограничения минимального и максимального кол-ва в «1», а также поставить флаг обязательности использования. Вы можете использовать эту функцию для продажи комбо-наборов.
Отображение — в виде выпадающего списка или переключателя.
Групповые — составные
Групповые составные используются, когда есть несколько блюд у которых одиночные модификаторы будут одинаковыми. Чтобы не выбирать одни и те же модификаторы, можно создать групповой составной модификатор и использовать его.
Отображение — в виде чекбоксов или числовых полей.
Можно ли создать заказ с теми товарами, которые я вручную создал в WooCommerce?
— Нет нельзя, экспорт заказов не будет работать, если товар не был импортирован из iiko. Плагин поддерживает модификаторы всех типов и шкалы размеров.
Как создать групповой модификатор
Пример. Есть товар пицца, мы хотим сделать возможность выбора размера. Для этого нужно создать товар пицца, установить базовую цену — 0 руб.
Создать группу «Размер», добавить в нее модификаторы: «22 см» со стоимостью 200 р, «30 см» стоимость 350 р, применить группу в качестве группового модификатора к товару.
После импорта на сайте, мы увидим вариативный товар пицца, с атрибутом «Размер» у атрибута будет 2 свойства: «22 см» и «30 см».
Из атрибута будут созданы 2 вариации для товара «пицца»: — «пицца 22 см» с ценой: 0 + 200 = 200р — «пицца 30 см» с ценой: 0 + 300 = 300р
Не выгружаются модификаторы
Товар имеет групповой модификатор, но выгружается, как обычный товар. Проверьте параметры группового модификатора и одиночных. У одиночных мод. должны быть параметры: макс. кол-во — 1 мин. кол-во — 0У группового: мин-макс. кол-во 1.
Модификаторы не импортируются как атрибуты
Это значит, что модификаторы в iiko будут отображаться с изменениями, которые вы внесли. А в API останутся исходные данные. При импорте, модификаторы будут иметь одинаковые названия, и следовательно не будут импортированы и вариации из них созданы не будут. Создавайте модификаторы, путем добавления новых модификаторов.
Настройки
Настройки. Основные
Настройки АПИ
Настройки позволяют задать endpoint для callback запросов со стороны iiko.
Говоря простым языком, эти настройки нужны что бы обновлять информацию на сайте, при ее изменении в iiko. Однако, этим способом можно изменять только ограниченные данные: стоп-лист, информацию о заказах и т.д.
Таймаут соединения
Измеряется в секундах.
Настройка используется, что бы задать максимальное время ожидания ответа на запрос к iiko API по умолчанию. Для запроса улиц используется увеличенный таймаут — 60 сек.
Основные настройки/Логирование
Функция логирования позволяет следить за работой плагина и записывать порядок обработки информации плагином. Так же вы можете включить логирование запросов и ответов к API.
Управлять логами вы можете в специальном разделе:
Прочие/Другие настройки
Транслитерация
Плагин имеет встроенную функцию транслитерации. Это перевод символов кириллицы в латинский алфавит. Она максимально простая и не создает нагрузки. Она совместима с любыми другими плагинами транслитерации и вызывается только, если они не используются.
Уведомления о критических ошибках
Уведомления при возникновении ошибок в работе плагина. Эта функция не заменят стандартную функцию WordPress, а служит небольшим дополнением, для улучшения контроля в production среде.
Разрешить использование сайта для демонстрации
На текущий момент эта настройка никак не используется.
Удаление настроек
В случае если вы решите полностью отказаться от использования woo2iiko на вашем сайте, активация этой настройки, послужит триггером для удаления всех данных и настроек плагина (!но не контента), во время процедуры стандартного удаления плагина из ПУ WordPress.
Настройки. Гео
Географические данные
Перед настройкой гео-данных необходимо:
- Успешно установить соединение с сервером API ( во вкладке импорт)
- Выбрать ресторан ( во вкладке импорт)
- Выбрать терминал ( во вкладке импорт)
После того, как настройки будут заданы. Вернитесь во вкладку Гео.
Вы можете увидеть сообщение: «Не удалось определить город» — до тех пор, пока гео данные не будут установлены.
На странице вы увидите список городов и в скобках ID города. Выберите город.
Если список пустой, задайте город в iiko и сделайте выгрузку в API.
Нажмите кнопку Сохранить изменения.
Данные городов и улиц хранятся в отдельных json файлах в папке uploads/iiko/ названия соответствуют названию городов {cityName}.json
Настройка гео-данных в iiko
Зоны обслуживания требуют отдельной настройки.
Выгрузите ваш город в API.
Выбор улицы
В случае успешной настройки гео-данных, на странице оформления заказа, при вводе первых букв улицы, вы увидите список улиц из выгрузки iiko:
Выпадающий список улиц на странице оплаты
Настройки. Импорт.
Настройки импорта товаров из айко.
Список настроек может обновляться и отличаться от документации в разных версиях плагина.
Обновлять параметры категорий (рекомендуется)
Вы можете не обновлять параметры категорий для более быстрого импорта. В этом случае картинки и описания, заданные вручную на стороне WooCommerce обновлены не будут. Категории обновляются только в ручном режиме, по кнопке выбора.
Обновлять товары автоматически (рекомендуется)
Вы можете автоматически обновлять товары. Периодичность задается вручную. Товары обновляются в фоновом режиме.
Если выбрано «ничего». Фоновые процессы импорта работать не будут.
Отправлять email администратору (устарело)
Вы можете настроить информирование о начале фоновых обновлений на email администратора.
(не рекомендуется, сейчас информация об этих процессах выводится в админке в виде уведомлений)
Обновлять только цены
Обновлять только цену товара. Отметьте, если хотите внести описание товаров в админ-панели сайта. Другие параметры обновляться не будут. (не рекомендуется)
Не обновлять изображения (рекомендуется)
Вы можете пропускать перезапись изображений товаров при повторном импорте. Это позволит сэкономить ресурсы сервера и установить свои изображения для товаров. Однако если вы захотите обновить изображение в iiko и выгрузить его на сайт у вас это не получится.
Не обновлять описание товара
Вы можете не обновлять описание товара каждый раз. (не рекомендуется)
Загрузить описание в «полное описание»
При включенной опции, данные поля «Описание» из iiko будут загружены в поле «Полное описание» товара в Woo. В противном случае «Описание» будет загружено в «Краткое описание товара». А данные из поля «Техническая информация» будут загружены в поле «Описание товара».
Не обновлять теги
Вы можете не обновлять теги товара, для этого установите эту настройку.
Обновлять мета-данные (рекомендуется)
Вы можете не обновлять мета данные каждый раз, это позволит ускорить процедуру импорта, но в случае изменений в описании товара, могут возникнуть расхождения с информацией на сайте.
Типы элементов для загрузки
Это опция показывает какие типы элементов из выгрузки будут использоваться в качестве товаров. Всего 3 типа: блюда, товары, услуги.
По умолчанию используются в качестве товаров WooCommerce только блюда и товары.
Модификаторы импортируются в качестве атрибутов товаров или мета-данных.
(не рекомендуется менять значение этой настройки)
Настройки. Экспорт и веб-хуки
Экспорт заказов, управление данными заказов. Настройка web hook`а.
Экспорт заказов осуществляется автоматически. Плагин автоматически пытается отправить заказ в iiko. Но в случае если терминал отключен или что-то не работает/не настроено заказ не будет зарегистрирован в системе. Так же существует возможность повторной отправки заказа и обновления информации о заказах в ручном режиме.
Настройка веб-хука в плагине.
Для того, что бы информация о статусе заказа (доставлен/не доставлен) в iiko менялась на сайте необходимо настроить работу веб-хука во вкладе «Основные настройки».
Не забудьте нажать кнопку «Сохранить» иначе ключ доступа не будет сохранен и будет сгенерирован новый.
Настройка веб-хука в iiko.
URL и ключ необходимо скопировать и вставить в соответствующие поля в интерфейсе iikoweb.
![]()
Так же не забудьте сохранить результат.
Смена статуса заказа.
После успешной настройки веб-хука, заказ автоматически будет менять статус на «Выполнен», в случае успешной отправки в iiko.
Так же будет обновлена мета-информация в блоке «Данные о заказе в iiko». «Полученные данные» из iiko.
Полученные данные обновлены в результате работы callback’a.
Настройки. Товар
Настройки товара. Модификаторы, КБЖУ. Данная секции содержит настройки отображения товаров iiko в WooCommerce.
Страница настроек товара КБЖУ.
В плагине предусмотрена функция отображения данных КБЖУ (Калории, Жиры, Белки, Углеводы).
Для каждого товара можно настроить отображение данных КБЖУ в карточке товара (страница товара).
Настройки отображения. Данные КБЖУ.
Также данные КБЖУ можно вывести в на странице каталога или в произвольной части сайта, но это нужно делать самостоятельно, используя механику мета-полей.
Модификаторы
В iiko существуют несколько типов модификаторов. Групповые и одиночные. Плагин работает со всеми типами модификаторов. Ниже представим все типы модификаторов и их настройки.
Одиночные модификаторы
Одиночные модификаторы могут быть представлены в виде поля с числовым вводом или в виде чек-бокса. Этот вид модификаторов особенно актуален для бургеров, где у каждого бургера может быть свой состав. Пример: Отображение для клиента
Отображение одиночных модификаторов в карточке товара для клиента.
![]()
Пример использования одиночных модификаторов
Групповые модификаторы
Групповые модификаторы делятся на 2 типа: обязательные(одиночные) и составные.
Обязательные (одиночные в группе)
Обязательные модификаторы используются, когда клиент обязан сделать выбор перед заказом блюда. Это может быть объем блюда или его составные части.
В плагине предусмотрено отображение таких полей в виде поля выпадающего списка(select) или в виде переключателя(radio).
Если вы хотите использовать такой тип модификатора вам необходимо проставить ограничения минимального и максимального кол-ва в «1», а также поставить флаг обязательности использования. Вы можете использовать эту функцию для продажи комбо-наборов. Например:
Групповые — составные
Групповые составные используются, когда есть несколько блюд у которых одиночные модификаторы будут одинаковыми. Чтобы не выбирать одни и те же модификаторы, можно создать групповой составной модификатор и использовать его.
В примере выше используется отображение в виде чекбоксов, отображение также можно поменять на поля с числовым вводом, если это требуется.
Настройки и механика
У модификаторов есть глобальные настройки, которые позволяют настроить отображение модификаторов индивидуально для каждого сайта. Настройки делятся на 2 блока: функциональный блок и настройки отображения.
Функциональные настройки
Включить поддержку модификаторов
Эта настройка включает глобальную функцию поддержки модификаторов. ! Отключайте поддержку только если у вас совсем нет модификаторов или вы хотите самостоятельно реализовать механику модификаторов отличным от плагина способом.
Вы можете выбрать типы модификаторов для отображения.
Доступны варианты: Все, Групповые, Одиночные, Только Обязательные, Ничего
Ничего — аналогично функции «отключить поддержку модификаторов», только отключение отображение для клиента. Группа(групповые) — отображение только групповых модификаторов в карточке товара.
Одиночные — отображение только одиночных мод-ов.
Обязательные — будут показаны только обязательные мод-ы.
Все — будут отображаться все модификаторы. Рекомендуется использовать только последние 2 типа, в противном случае могут возникнуть проблемы с экспортом заказов.
Рекомендуется «Все».
Ограничение количества и расчет цены
Включает JS, который поддерживает изменение цены в карточке товара, при выборе модификаторов. Так же этот скрипт ограничивает выбор модификаторов, в зависимости от настроек количества, предотвращает несовпадение минимального и максимального кол-ва модификаторов для блюда.
Рекомендуется Включить лоадер во время вычисления т.к. для вычисления цены товара, во время переключения модификаторов посылается запрос на сервер. Отображение результата вычисления происходит с задержкой, чтобы визуально отобразить процесс загрузки рекомендуется включить лоадер.
Рекомендуется

Стиль для обязательных групповых модификаторов
Выбор типа поля для обязательных групповых модификаторов Radio или Select.
Включить группирование одиночных модификаторов
По умолчанию групповые модификаторы располагаются отдельными блоками. Эта функция меняет верстку и располагает все элементы в одном блоке, логически объединяя их.
Настройки отображения модификаторов

Модификаторы настройки шаблона
В плагине предусмотрены дополнительные возможности по оформлению блока с модификаторами. Вы можете использовать встроенные стили или написать свои.
Механика
Модификаторы выводятся на фронт в виде блока, этот блок рендерится через шорт-код:
[iiko_show_mods]
и может принимать параметры: «type» — single | group | required | nothing | all.
Тип модификаторов для отображения.
По умолчанию используется значение из настроек плагина.
«wrap» — true|false. Использовать html обертку для блока?
«product» — int. ID товара, если пусто используется глобальная переменная product.
Блок выводится в карточке товара через хук: woocommerce_before_add_to_cart_button
Отображение товара с модификаторами в других частях сайта
Страница корзины
Настройки. Оформление заказа.
Настройки страницы оплаты в WooCommerce
В данном разделе вы можете задать настройки страницы оплаты. Плагин полностью модифицирует страницу оплаты под сайт доставки еды. Никаких дополнительных плагинов или настроек не требуется! Настройки разделены на соответствующие секции.
Страница Оформления заказа и Экспорт
Отключить экспорт заказов и изменения формы оплаты. Данная настройка позволяет полностью отключить экспорт заказов в iiko и убирает все модификации формы оформления заказа. Включите если вы используйте сайт для доставки по всей стране и нет необходимости передавать заказ в iiko.

Отключение экспорта заказов в iikoНастройки полей формы. Вы можете настроить отображение полей формы по своему усмотрению.
Календарь
Календарь — поле выбора даты и времени доставки заказа. Оно имеет настройки:

Настройки поля выбора даты и времени заказа
Поле календаря имеет более гибкие настройки, однако представить их в виде интерфейса не представляется возможным. При необходимости вы можете изменить отображение этого поля используя программные возможности (фильтры wordpress).
Настройки заказа
Настройки заказа — позволяют регулировать параметры отправки и записи данных о заказе.

Использовать методы доставки WooCommerce
Эта настройка позволяет использовать методы определения доставки WooCommerce. При отключенной настройке вы можете не использовать методы доставки WooCommerce, в этом случае вы увидите дополнительное поле с выбором — доставка или самовывоз.
Пример работы настройки в отключенном состоянии:
——————
Страница оформления заказа без использования методов WooCommerce. Работа настройки во включенном состоянии требует настройки методов доставки WooCommerce. Для этого перейдите в раздел Доставка — Зоны доставки

Как убрать самовывоз, оставить только доставку?
Включите поддержку способов доставки WooCommerce. Добавьте только способ доставки Единая ставка (flat rate). Сохраните настройки. Как включить поддержку нескольких зон доставки из iiko. На примере города Москва.
- Вы создаете в iiko товары «Доставка внутри МКАД» — 300р, «Доставка за МКАД — 500р»
- Включаете поддержку зон доставки WooCommerce

Включить поддержку зон доставки. Теперь вы используете зон доставки в WooCommerce. Заходите в соответствующий раздел.

Раздел «Зоны доставки WooCommerce»
Вы создаете 2 способа доставки «Доставка iiko» . Вводите аналогичные названия: «Доставка в пределах МКАД» и «доставка за КАД (до 10км)». В качестве стоимости выбираете товары из меню


Доставка настроена. Теперь при оформлении заказа у клиента будет возможность выбрать зону доставки, соответствующая стоимость будет при оплате

Выбор зоны доставки для клиента В iiko будет передан состав заказа, в котором будет сам заказ + товар «доставка» с соответствующей стоимостью. Настройки для сетевых ресторанов. Эти опции вы увидите только в том случае, если у вас несколько терминалов доставки, объединенных в рамках одного API.

Настройки. Оплата
Настройка соответствия типы оплат WooCommerce и iiko.
Настройки соответствия сохраняются автоматически после выбора. После сохранения соответствия вы увидите надпись Сохранено! Для того что бы убрать соответствие типа оплаты выберите пустой пункт в селекторе. Сброс кеша и соответствий типов оплат. Если вы удаляли платежный шлюз WooCommerce у которого была привязка в платежному способу iiko, то вы не сможете использовать способ iiko, без сброса привязки. Для этого воспользуйтесь кнопкой сброса в верху колонки. Если вы добавили новый тип оплаты в iiko и хотите импортировать его в Woo, вам так же нужно воспользоваться кнопкой сброса.
Сбросить все связи между типами оплаты.
Настройка оплаты в iiko.
По умолчанию в API выгружен 1 тип оплаты — Наличные.
Возможные способы оплат и их настройки задаются в iikoOffice. После установки системы по умолчанию уже настроены наиболее часто встречающиеся способы оплаты, они представлены в справочнике, вызываемом с помощью пункта меню Розничные продажи → Типы оплат.
Добавьте тип оплаты и обязательно укажите, что это внешняя платежная система и Может приниматься извне.
Чтобы добавить внешний тип оплаты:
- 1.Введите его название.
- 2.В поле Тип выберите «Внешний тип оплаты».
- 3. В поле Безналичный тип выберите название системы, через которую принимается оплата.
- 4. В поле Счет выручки укажите счет, на который будет поступать выручка с этого типа оплаты. Для выбора доступны счета из группы «Доходы/Расходы».
- 5. В поле Счет поступления средств выберите счет, на котором будут накапливаться суммы оплаты во время кассовой смены. Для выбора доступны счета из групп «Активы» и «Обязательства».
- 6. Нажмите кнопку Сохранить.
Внешний тип оплаты.
Более подробно про типы оплат в iiko вы можете прочитать в документации iiko.
Автораспределение доставок
Как настроить авто-распределение заказов доставки по географическим зонам
Первое что надо сделать, настроить зоны доставки в iiko. Далее приступите к настройке плагина.
Есть 2 режима:
1. Определение зоны доставки происходит на стороне iiko.
не поддерживается разная стоимость доставки, не поддерживается приоретизация.
Работает через запрос на эндпоинт https://api-ru.iiko.services/api/1/delivery_restrictions/allowed
2. Определение зоны и стоимости происходят на стороне сайта.
В этом варианте работает авто-расчет стоимости доставки по адресу + приоретизация зон.
Работает через запрос на эндпоинт https://api-ru.iiko.services/api/1/delivery_restrictions
Для включения авто-распределения нужно включить эти настройки, во вкладке «Оформление и Экспорт«:

и выбрать вариант + ввести dadata ключи

Для первого варианта, этого достаточно задать настройки доставки woo и все

Важное условие: стоимость доставки должны быть фиксированной или бесплатной.
Когда все задано, в предварительном запросе происходит проверка ограничений, в т.ч. по зонам. Если не входит адрес, то заказ дальше не оформляется и оплата не происходит.
Для второго варианта. Определение зоны и стоимости происходят на стороне сайта.
Нужно задать для каждой зоны на карте свой вариант доставки. Укажите название каждой зоны и стоимость.
Это будет выглядеть так:

Требуется настроить корректное соответствие условий: что бы цена товара доставки соответствовала стоимости ожидаемой от зоны. 
Проверка адреса происходит еще до предварительного запроса, как только указан дом и улица, происходит проверка и расчет цены. Если не входит в зону, будет показана ошибка или не будет информации о доставке.
О плагине
Покупка плагина
Инструкция по оформлению заказа на сайт
Как оформить заказ?
Купить плагин вы можете на официальной странице плагина интеграции https://woo2iiko.rwsite.ru/
Перейдите в раздел «Цены». Вы можете одновременно оформить заказ только на 1 позицию «Плагин интеграции woocommerce и iiko» или «Помощь разработчика».
Для совершения операции покупки нажмите кнопку «Купить» или «Заказать».
Вы увидите окно оформления заказа. Введите ваши данные и выберите способ оплаты.
Если вы выполняете покупку, как юр. лицо обязательно укажите телефон компании, email вашего юр. лица, а в поле «Имя» введите полное наименование компании. Это нужно на случай смены контактного лица компании и подтверждения прав собственности на покупку.

Окно «Оформление заказа»
На сайте предусмотрено 2 способа оплаты: 1) оплата онлайн, по средствам банковской карты РФ, СБП и т.д., через сервис Юкасса.
2) оплата через сервис WebMoney, полный список возможностей оплаты смотрите на странице сервиса.
При оплате через WebMoney, заказ будет создан, но потребует ручного подтверждения статуса оплаты. Т.е. По факту оплаты необходимо написать в службу поддержки(разработчику) и предоставить подтверждение перевода, только после этого заказ будет выполнен.
После формирования заказа, вы увидите сообщение, что заказ сформирован/оплачен.

Сообщение о заказе
после этого ваш заказ будет доступен в личном кабинете на сайте. В данных заказа будет указан ключ и ссылка на скачивание файла. Доступ в личный кабинет будет осуществляться по email указанному в заказе, пароль для входа будет сгенерирован и выслан на этот email.
Другие способы оплаты
Если по каким либо причинам вы не можете оплатить заказ, способами, указанными выше, сообщите об этом в службу поддержки (автору плагина). Возможен вариант оплаты на расчетный счет физ. лица (самозанятого), а так же выставление счета от имени самозанятого.
Чек и подтверждение оплаты
При необходимости вы можете получить чек, подтверждающий покупку плагина. Чек предоставляется только по требованию, т.к. процесс его формирования не автоматизирован и требует ручной отправки. О необходимости получения чека нужно сообщить заранее.
Данные лицензии и доступ к файлу плагина
Доступ к файлам плагина, а так же просмотр данных лицензии, осуществляется через личный кабинет на сайте.
Для того, что бы попасть в личный кабинет, требуется авторизоваться на сайте. После авторизации вы увидите в меню иконку профиля, она ведет в личный кабинет.
Ссылка на личный кабинет

Перейдите на вкладку «Заказы» и нажмите кнопку «Просмотр» на заказе.

Страница «Заказы» в личном кабинете
В данных заказа вы увидите ссылку на скачивание плагина, а так же данные ключа.

Данные лицензионного ключа и информация о заказе.
Установка плагина. Требования.
Установка и настройка плагина интеграции iiko (syrve) и WooCommerce
Технические требования
Убедитесь что ваш хостинг имеет минимальные требования для установки и работы плагина:
- PHP version 8.2+ (8.3 recommend)
- MySQL version 5.6+ (8.0 recommend) / Maria DB 10+
- HTTPS support
- max_execution_time more than 180, we recommend 300
- memory_limit 256M
- cURL
- WooCommerce
Woo2Iiko полностью совместим с версией WordPress 6.2. и выше и WooСommerce 7.5 и выше.
Плагин woo2iiko работает с iiko Transport API (cloud). А так же с европейской версией программы Syrve, с Syrve API.
Установка плагина
Установка из WordPress:
Step 1: Перейдите во вкладку Plugins (плагины).
Step 2: Кликните Add New(Добавить новый) и нажмите кнопку Upload(загрузить плагин).
Step 3: Найдите архив woo2iiko.zip на вашем компьютере и выберите его, затем нажмите кнопку Install Now(Установить).
Step 4: После установки, активируйте плагин.
Установка с использованием FTP.
Step 1: Установите соединение с вашим хостингом по FTP.
Step 2: Разархивируйте woo2iiko.zip на ваш компьютер.
Step 3: Загрузите папку плагина в папку плагинов wp-content/plugins в директории с установленным WordPress.
О плагине
Плагин имеет «чистый» читаемый ООП код, базирующийся на стандартах PSR.
Сведения о ресурсах, в среднем потребляемых плагином:
- Потребление памяти: 6-7mB
- Дополнительных запросов SQL: 20
Активация лицензии
Активация лицензионного ключа для получения обновлений и поддержки
После активации плагина вы увидите поле для ввода лицензионного ключа.

Введите полученный вами лицензионный ключ и нажмите кнопку Активировать (activate).

После успешной активации вы увидите сообщение: Текущий ключ (current license key) и номер вашего ключа.
Деактивация лицензии
Если у вас возникла необходимость вы можете перенести лицензионный ключ с одного домена на другой. Для этого воспользуйтесь кнопкой Деактивировать на текущем сайте (где ключ был активирован) и повторно введите ключ на сайте с новым доменом.
Что делать, если ключ утерян
Вы можете посмотреть ваш лицензионный ключ в личном кабинете на сайте. При покупке пароль доступа был выслан на ваш email. Так же вы можете восстановить ваш пароль введя ваш email в соответствующей форме на сайте. Если у вас возникли какие-либо проблемы с ключом, обратитесь за поддержкой в телеграмм канал или на email.
Обновление плагина
Рекомендуется всегда использовать последнюю версию плагина. Для этого плагин необходимо обновлять по мере выхода обновлений. Не все пользователи достаточно хорошо знакомы в WordPress, поэтому ниже приведена небольшая инструкция.
Проверка обновлений
В левом меню во вкладке консоль есть пункт «Обновления»

Смотрим, что для woo2iiko имеется обновление:

Woo2iiko имеет обновление. Нажимаем «Обновить плагины».

Видим сообщение о том, плагин обновлен. Нажимаем «Вернуться на страницу плагинов». На этом все, теперь у вас последняя версия плагина.
Продление лицензии
Как продлить срок действия лицензионного ключа?
Если у вас закончился период действия лицензионного ключа, вы можете продлить его срок действия. Продлить ключ вы можете в любое время. Как до истечения его срока действия, так и после. Если вы продлеваете ключ после истечения его срока действия, оплаченный период будет начинаться со дня продления лицензии, а не со дня истечения срока действия ключа.
Период продления срока действия ключа — 365 календарных дней (1 год).
Для продления ключа надо выполнить следующие действия:
- Авторизоваться на сайте плагина и перейти в личный кабинет
- Перейти на вкладку заказы и выбрать заказ с купленной лицензией
- Открыть заказ, вы увидите данные ключа и кнопку «Продлить лицензию».

После нажатия, вы будете перенаправлены на страницу оформления заказа. В заказе будет содержаться товар с данными вашего ключа.
После оплаты заказа, ключ будет продлен автоматически, его номер не изменится.
Подключение IIKO API
Подключение Transport API и выгрузка данных
Подключение апи на стороне iiko. Перейдите в ваш iiko web интерфейс.
Раздел iiko Transport. Выберите «Клиенты» и ваш api клиент. Установите ключ и права. Не забудьте сохранить изменения.
Проверьте статус терминалов.
Подключение терминала
Настройте меню и терминал.
Для экспорта меню из iiko, необходимо зарегистрировать терминал, как доставочный.
![]()
Регистрация терминала для обмена данными
После этого можно использовать терминал для импорта и экспорта данных.
В плагине woo2iiko используется запрос к Номенклатуре. Она формируется во вкладке для iiko.biz «Выгрузка меню«.
Кнопка «выгрузить» не работает для транспорт АПИ, данные выгружаются автоматически, по расписанию.
Плагин api раз в час проверяет, не поменялось ли меню в РМС, и если поменялось, то в этом случае отправляет его в базу транспорта (и ревизия при этом поднимается). Если меню не менялось, то в транспорт ничего не отправляется.
Прочее
Настройки. Работа уведомлений
О работе уведомлений в административной части сайта.
Уведомления формируются и показываются для всех пользователей с ролью «администратор».
Они не формируются индивидуально. Учитывайте это при совместной работе в админке.
Уведомления генерируемые плагином помечаются названием плагина. В формате:
Уведомления могут показывать ошибки, которые уже были устранены (историю).
Достаточно закрыть уведомление, если оно больше не появится, то ошибка была устранена.
Если уведомлений слишком много, то будут показаны только первые 5, а так же будет видна кнопка «убрать все уведомления».
Возможные ошибки и их устранение
Ошибки плагина
Ошибки могут возникнуть на разных стадия работы плагина. Часто они могут быть вызваны не полной\не правильной настройкой плагина. Рекомендуется проверить все ли настройки заданы корректно, с помощью инструкции Настройка плагина.Так же рекомендуется отключить все сторонние плагины, т.к. они могут вызывать проблемы.
Не обновляются изображения/информация о товаре
Проверьте, что данные выгружаются в API со стороны iiko. Проверьте, что загружена последняя выгрузка. Если дата отличается, необходимо сбросить кеш выгрузки. Для этого нажмите кнопку «Сбросить список товаров и категорий», перезагрузите страницу.
Информация о последней выгрузке на странице импорта. Если изображения не загрузились, проверьте загружаются ли они обычным способом в WordPress.
Warning: Error while sending QUERY packet.
Данные выгрузки хранятся в кеше БД. Данная ошибка указывает на то, что объем выгрузки слишком большой для хранения, вам необходимо увеличить размер хранимых данных в ячейке БД, а так же возможно увеличить таймаут БД. Изменения нужно произвести в файле /etc/my.cnf если у вас свой VPS. Изменить/дописать строки: max_allowed_packet=524288000 wait_timeout = 100 Если у вас обычный виртуальный хостинг обратитесь в службу поддержки для решения проблемы.
Разработчику
Шаблоны плагина
Вы можете изменить вид элементов плагина.
Механика действия для этого, аналогична шаблонам WooCommerce.
Для этого в папке темы необходимо создать путь ../woocommerce/ или ../woocommerce/iiko/, где разместить файл с таким же названием. Хуки внутри каждого изменяемого файла необходимо сохранить.

modal/modal.php — глобальный шаблон для вывода модальных окон. Содержимое выводится через хуки внутри шаблона.
Как добавить поддержку своего SMS-сервиса
Как расширить список сервисов отправки смс своим.
Вы можете расширить список SMS провайдеров своим сервисом. Для этого есть 2 фильтра.
1. Добавьте свой сервис в список сервисов.
add_filter('iiko_sms_services', $sms_services)
Как использовать:
add_filter('iiko_sms_services', function ($sms_services){
$sms_services['my_service'] = "Service Name";
return $sms_services;
}, 10, 1);
2. Добавьте обработчик. Который будет непосредственно отправлять SMS.
add_filter('iiko_sms_methods', $service, $phone, $sms);
apply_filters('iiko_sms_methods', 'sendSmsByMyService', 10, 3);
function sendSmsByMyService($service, $phone, $sms)
{
if($service !== 'my_service'){
return $service;
}
// Enter get params for your sms service
$get_params = http_build_query(
/*[
'user' => $login,
'sadr' => $sign,
'pwd' => $pass,
'dadr' => $phone,
'text' => $sms,
]*/
);
// send http request, for example:
$response = wp_remote_get('https://your-service.ru/sendsms.php?' . $get_params);
if (!is_wp_error($response)) {
return true;
}
return false;
}
Модальные окна
В плагин интегрирован компонент для создания модальных окон. Его можно использовать для разработки своих расширений.
Как использовать
Через статический метод create: Создает новый экземпляр модального окна new Modal() и вызывает show(); — отображение окна.
Шорткод.
echo do_shortcode('[modal id="test" title="title" display="1"]content[/modal]');
Необходимо что бы на странице 1 раз был вызван метод рендера оверлея:
add_action( 'wp_footer', [ \iiko\Modal::class, 'wp_footer' ], 99 );
ООП. Предпочтительней.
\iiko\Modal::create([
'id' => 'test',
'title' => 'title',
'description' => 'description',
'content' => 'content',
'display' => true
]);
Результат: