Плагины
Отправка заказов WooCommerce в кассу aQsi как отложенных заказов (POST /v2/Orders/simple, aQsi API V4).
Knitcat Aqsi
История изменений1.7.0
25.08.2026
# Changelog — KnitCat aQsi## 1.7.0
- Жёсткая зависимость от `knitcat-woo`: без активного и определившего `knitcat_core_is_active()` `knitcat-woo` плагин не показывает ни функционал, ни настройки модулей — только предупреждение в admin_notices.
- Добавлены общие SDK-файлы бренда KnitCat (копируются без изменений): `includes/class-knitcat-registration.php` (SDK 1.0.0) и `includes/class-knitcat-updater.php` (SDK 1.1.0, с проверкой SHA-256/allowed-host скачиваемого пакета обновления перед установкой — fail-closed).
- Новая вкладка «Регистрация» на странице настроек — бесплатная регистрация сайта, статус отмечается ✅/❌ прямо в заголовке вкладки. Функциональные модули плагина (отправка заказов в кассу) теперь требуют зарегистрированный сайт.
- Убрана собственная регистрация родительского пункта меню «KnitCat Plugins» (`add_menu_page`) — теперь единственный источник этого меню — `knitcat-woo` (priority `-100`); плагин aQsi регистрирует только `add_submenu_page` с priority `20`.
- Добавлена карточка плагина в общий хаб через `add_filter('knitcat_hub_plugins', ...)`.
## 1.6.0
- Кнопка «Проверить статус в aQsi» в метабоксе заказа: прямой `GET /v2/Orders/simple/{orderId}` к серверу aQsi, чтобы отличить «сервер не принял заказ» от «принял, но терминал ещё не подхватил».
## 1.5.0
- Откат: заказ снова уходит в кассу без `checkClose` (без способа оплаты) — кассир сам выбирает оплату на терминале.
## 1.4.0
- Кнопки выбора способа оплаты «Наличными» / «Картой» (впоследствии отменено в 1.5.0).
## 1.3.0
- Тестовая отправка заказа на 1 ₽ без создания реального заказа WooCommerce.
## 1.2.0
- Автозаполнение Shop ID при выборе устройства, поиск кассира.
## 1.1.0
- Поиск устройства (`Найти устройство`) — решает проблему с IMEI вместо внутреннего ID.
## 1.0.0
- Первая версия: отправка заказов WooCommerce в кассу aQsi как отложенных (`POST /v2/Orders/simple`).
1.6.0
21.08.2026
Плавающие кнопки для WhatsApp, Telegram, MAX и других соцсетей с кастомизацией и сортировкой
Knitcat Chat Buttons
История изменений2.8.0
26.08.2026
# Changelog — KnitCat Chat Buttons## 2.8.0
- Обновлён `class-knitcat-updater.php` до SDK 1.2.0: проверка SHA-256 и allowed-host скачиваемого пакета перед установкой (fail-closed), обработка статуса "revoked" (аннулированная на сервере регистрация сайта теперь автоматически отключает функциональные модули).
- Добавлена жёсткая зависимость от core-плагина KnitCat Woo Advanced: без него плагин показывает уведомление в админке и не подключает свои модули (карточку в хабе, меню, фронтенд-рендер кнопок).
- Функциональные модули (вывод кнопок на сайте) теперь требуют регистрации сайта — без неё показывается уведомление «зарегистрируйте сайт» на странице настроек.
- На вкладке «Регистрация» рядом с названием вкладки теперь отображается ✅/❌ в зависимости от статуса регистрации.
- `register_setting()` для `kcb_settings` теперь имеет `sanitize_callback` с явным whitelist полей (типы кнопок и анимации — только из разрешённого списка, цвета — `sanitize_hex_color`, числа — с ограничением диапазона, тексты — `sanitize_text_field`/`sanitize_textarea_field`, ссылки — `esc_url_raw`).
- **Важно:** `class-knitcat-registration.php` в этой сборке — версия SDK 1.0.0 (та же, что уже была в плагине), а не описанная в инструкции версия SDK 1.0.1 с фиксом общего AJAX-хука `wp_ajax_knitcat_register_site`. Присланный файл оказался идентичен старому — фикса в нём нет. См. примечание в сопроводительном сообщении.
## 2.7.0
- Добавлено: третий вариант анимации — «Волна + тряска» (сочетание пульсирующего кольца и покачивания).
- Изменено: пока список кнопок соцсетей открыт, анимация основной кнопки чата автоматически приостанавливается — внимание клиента переключается на анимированные кнопки соцсетей; при закрытии списка анимация основной кнопки возвращается.
- В инструкциях явно указано, что мессенджер MAX доступен как отдельный тип кнопки.
- Добавлено: для основной кнопки чата теперь по умолчанию используется штатная иконка-«облачко» с настраиваемым градиентом (два цвета на выбор). Загрузка собственной иконки по-прежнему доступна — переключается радиокнопкой «Оформление кнопки» на вкладке «Основная кнопка».
## 2.6.0
- Добавлено: анимация привлечения внимания для кнопок — «Волна» (пульсирующее кольцо) и «Тряска». Включается/выключается индивидуально для каждой кнопки соцсети и отдельно для основной кнопки чата (вкладка «Основная кнопка» → «Анимация»).
## 2.5.0
- Исправлено: кнопки соцсетей во фронтенде наплывали друг на друга при открытии списка. Позиционирование переведено с хрупкого JS-расчёта (`position: absolute` + пересчёт через `.position()`) на CSS flexbox (`flex-direction: column-reverse`), что исключает саму возможность перекрытия.
- Добавлено: новый тип кнопки «Телефон» (`phone`).
- На мобильных устройствах (маленький экран или touch) клик по кнопке сразу инициирует звонок через `tel:`.
- На десктопе клик открывает всплывающее окно рядом с кнопкой с номером телефона (кликабельная ссылка `tel:`), вместо немедленного перехода.
- Добавлена иконка по умолчанию для
2.7.0
22.08.2026
# Changelog — KnitCat Chat Buttons## 2.7.0
- Добавлено: третий вариант анимации — «Волна + тряска» (сочетание пульсирующего кольца и покачивания).
- Изменено: пока список кнопок соцсетей открыт, анимация основной кнопки чата автоматически приостанавливается — внимание клиента переключается на анимированные кнопки соцсетей; при закрытии списка анимация основной кнопки возвращается.
- В инструкциях явно указано, что мессенджер MAX доступен как отдельный тип кнопки.
- Добавлено: для основной кнопки чата теперь по умолчанию используется штатная иконка-«облачко» с настраиваемым градиентом (два цвета на выбор). Загрузка собственной иконки по-прежнему доступна — переключается радиокнопкой «Оформление кнопки» на вкладке «Основная кнопка».
## 2.6.0
- Добавлено: анимация привлечения внимания для кнопок — «Волна» (пульсирующее кольцо) и «Тряска». Включается/выключается индивидуально для каждой кнопки соцсети и отдельно для основной кнопки чата (вкладка «Основная кнопка» → «Анимация»).
## 2.5.0
- Исправлено: кнопки соцсетей во фронтенде наплывали друг на друга при открытии списка. Позиционирование переведено с хрупкого JS-расчёта (`position: absolute` + пересчёт через `.position()`) на CSS flexbox (`flex-direction: column-reverse`), что исключает саму возможность перекрытия.
- Добавлено: новый тип кнопки «Телефон» (`phone`).
- На мобильных устройствах (маленький экран или touch) клик по кнопке сразу инициирует звонок через `tel:`.
- На десктопе клик открывает всплывающее окно рядом с кнопкой с номером телефона (кликабельная ссылка `tel:`), вместо немедленного перехода.
- Добавлена иконка по умолчанию для кнопки «Телефон» (`assets/images/phone.svg`).
## 2.4.0 и ранее
- См. предыдущие версии.
2.6.0
22.08.2026
# Changelog — KnitCat Chat Buttons## 2.6.0
- Добавлено: анимация привлечения внимания для кнопок — «Волна» (пульсирующее кольцо) и «Тряска». Включается/выключается индивидуально для каждой кнопки соцсети и отдельно для основной кнопки чата (вкладка «Основная кнопка» → «Анимация»).
## 2.5.0
- Исправлено: кнопки соцсетей во фронтенде наплывали друг на друга при открытии списка. Позиционирование переведено с хрупкого JS-расчёта (`position: absolute` + пересчёт через `.position()`) на CSS flexbox (`flex-direction: column-reverse`), что исключает саму возможность перекрытия.
- Добавлено: новый тип кнопки «Телефон» (`phone`).
- На мобильных устройствах (маленький экран или touch) клик по кнопке сразу инициирует звонок через `tel:`.
- На десктопе клик открывает всплывающее окно рядом с кнопкой с номером телефона (кликабельная ссылка `tel:`), вместо немедленного перехода.
- Добавлена иконка по умолчанию для кнопки «Телефон» (`assets/images/phone.svg`).
## 2.4.0 и ранее
- См. предыдущие версии.
2.5.0
21.08.2026
# Changelog — KnitCat Chat Buttons## 2.5.0
- Исправлено: кнопки соцсетей во фронтенде наплывали друг на друга при открытии списка. Позиционирование переведено с хрупкого JS-расчёта (`position: absolute` + пересчёт через `.position()`) на CSS flexbox (`flex-direction: column-reverse`), что исключает саму возможность перекрытия.
- Добавлено: новый тип кнопки «Телефон» (`phone`).
- На мобильных устройствах (маленький экран или touch) клик по кнопке сразу инициирует звонок через `tel:`.
- На десктопе клик открывает всплывающее окно рядом с кнопкой с номером телефона (кликабельная ссылка `tel:`), вместо немедленного перехода.
- Добавлена иконка по умолчанию для кнопки «Телефон» (`assets/images/phone.svg`).
## 2.4.0 и ранее
- См. предыдущие версии.
2.4.0
21.08.2026
Исправлены старые ошибки, добавлены новые.Импорт цен из прайс-листа поставщика (.xlsx) с проверкой перед применением, и экспорт товаров в XLSX. <a href="admin.php?page=knitcat-import-export">Настройки</a>
Knitcat Import Export
История изменений1.9.1
25.08.2026
# Changelog## 1.9.1
- Критический фикс: class-knitcat-registration.php обновлён до SDK 1.0.1. Старая версия (1.0.0) вешала AJAX-обработчик регистрации на общий для всех KnitCat-плагинов хук wp_ajax_knitcat_register_site — из-за этого регистрация с настроек ДРУГИХ KnitCat-плагинов на этом же сайте не сохранялась (эта ветка первой перехватывала запрос). Обновление касается всех сайтов, где стоит этот плагин вместе с другими KnitCat-плагинами.
- class-knitcat-updater.php обновлён до SDK 1.2.0: добавлена обработка статуса "revoked" от сервера обновлений — если сайт заблокирован администратором, плагин сам отключает свои модули при следующей проверке обновлений.
## 1.9.0
- Апдейтер обновлён до SDK 1.1.0: проверка SHA-256 и allowed-host скачиваемого пакета перед установкой (fail-closed).
- SDK регистрации обновлён: исправлена ошибка определения константы версии плагина при запросе регистрации.
- Жёсткая зависимость от активного KnitCat Woo Advanced (`knitcat_core_is_active()`).
- Импорт и экспорт доступны только после бесплатной регистрации сайта; вкладка «Регистрация» доступна всегда.
- Статус регистрации (✅/❌) отображается прямо в заголовке вкладки.
## 1.8.0
- Интеграция с хабом «KnitCat Plugins» приведена в соответствие с официальным шаблоном бренда (capability `edit_shop_orders`, только `add_submenu_page` на приоритете 20, точный хук enqueue, ключ `slug` в карточке хаба).
- Добавлены `KnitCat_Updater` и `KnitCat_Registration`, новая вкладка «Регистрация».
- Требуется PHP 8.0+.
1.9.0
25.08.2026
# Changelog## 1.9.0
- Апдейтер обновлён до SDK 1.1.0: проверка SHA-256 и allowed-host скачиваемого пакета перед установкой (fail-closed).
- SDK регистрации обновлён: исправлена ошибка определения константы версии плагина при запросе регистрации.
- Жёсткая зависимость от активного KnitCat Woo Advanced (`knitcat_core_is_active()`).
- Импорт и экспорт доступны только после бесплатной регистрации сайта; вкладка «Регистрация» доступна всегда.
- Статус регистрации (✅/❌) отображается прямо в заголовке вкладки.
## 1.8.0
- Интеграция с хабом «KnitCat Plugins» приведена в соответствие с официальным шаблоном бренда (capability `edit_shop_orders`, только `add_submenu_page` на приоритете 20, точный хук enqueue, ключ `slug` в карточке хаба).
- Добавлены `KnitCat_Updater` и `KnitCat_Registration`, новая вкладка «Регистрация».
- Требуется PHP 8.0+.
1.8.0
21.08.2026
1.7.0
21.08.2026
Показывает другие заказы клиента в метабоксе заказа WooCommerce. Поиск по аккаунту, email и телефону — включая гостевые заказы.
Knitcat Order Info
История изменений2.0.2
25.08.2026
# Changelog## 2.0.0
- Добавлена жёсткая зависимость от KnitCat Woo Advanced (>= 2.7.8): без него плагин показывает уведомление и не грузит функционал
- Функциональные модули (метабокс, инжект в клиентскую историю) теперь требуют регистрации сайта — до регистрации доступна только страница настроек
- Добавлена вкладка «Регистрация» с индикатором статуса ✅/❌
- Убрана собственная регистрация верхнеуровневого пункта меню «KnitCat Plugins» — теперь его создаёт только KnitCat Woo (приоритет -100), гонка при загрузке устранена
- Capability для страницы настроек и сохранения изменена с manage_woocommerce/manage_options на edit_shop_orders
- includes/class-knitcat-updater.php и includes/class-knitcat-registration.php — общий SDK, подключены без изменений
## 2.0.1
- class-knitcat-updater.php заменён на актуальную версию SDK 1.1.0 (проверка SHA-256 + allowed host перед установкой обновления)
## 2.0.2
- Исправлен баг в class-knitcat-registration.php (обновлён до актуальной версии): метод get_plugin_version() строил имя константы с ДВОЙНЫМ префиксом (KNITCAT_KNITCAT_ORDER_INFO_VERSION вместо KNITCAT_ORDER_INFO_VERSION), из-за чего при регистрации на сервер всегда отправлялась пустая версия плагина
- Добавлена константа KNITCAT_ORDER_INFO_VERSION (алиас на KCOI_VERSION) — именно её ищет registration SDK
- class-knitcat-updater.php сверен с последней версией — без изменений (был актуален)
2.0.1
25.08.2026
# Changelog## 2.0.0
- Добавлена жёсткая зависимость от KnitCat Woo Advanced (>= 2.7.8): без него плагин показывает уведомление и не грузит функционал
- Функциональные модули (метабокс, инжект в клиентскую историю) теперь требуют регистрации сайта — до регистрации доступна только страница настроек
- Добавлена вкладка «Регистрация» с индикатором статуса ✅/❌
- Убрана собственная регистрация верхнеуровневого пункта меню «KnitCat Plugins» — теперь его создаёт только KnitCat Woo (приоритет -100), гонка при загрузке устранена
- Capability для страницы настроек и сохранения изменена с manage_woocommerce/manage_options на edit_shop_orders
- includes/class-knitcat-updater.php и includes/class-knitcat-registration.php — общий SDK, подключены без изменений
## 2.0.1
- class-knitcat-updater.php заменён на актуальную версию SDK 1.1.0 (проверка SHA-256 + allowed host перед установкой обновления)
1.6.0
21.08.2026
Печать накладной заказа WooCommerce. Кнопка в списке заказов, в карточке заказа, массовая печать. Настройки: логотип, реквизиты магазина, шрифты, QR-коды соцсетей.
Knitcat Order Print
История изменений1.8.0
26.08.2026
Исправлены старые ошибки, добавлены новые.POS-терминал для оформления заказов из админки со сканером штрих-кода и расчётом доставки
Knitcat Pos
История изменений1.17.1
26.08.2026
# Changelog## 1.17.1
- Изменение: блок «Заказы клиента» (интеграция с KnitCat Order Info) в POS-терминале теперь управляется отдельным тумблером в настройках POS (по умолчанию включён), доступным только когда плагин Order Info активен
- Изменение: убрана собственная копия логики Order Info (дефолтные статусы/лимит/пороги % выкупа/цвета статусов), которая раньше подставлялась в POS, если плагин был неактивен — теперь при неактивном или выключенном тумблером плагине блок просто не показывается, вся логика остаётся только в самом плагине KnitCat Order Info
- Безопасность/надёжность: серверная проверка тумблера и активности плагина в AJAX-обработчике `kpos_get_customer_orders_info`, а не только на фронтенде
## 1.17.0
- Архитектура: жёсткая зависимость от активного knitcat-woo (`knitcat_core_is_active()`) — без него POS не грузит свои модули и показывает admin-уведомление
- Архитектура: функциональные модули (POS-терминал, метабокс расчёта доставки в заказе) теперь требуют регистрации сайта (`knitcat_site_is_registered()`); страница настроек и вкладка «Регистрация» остаются доступны всегда
- UI: вкладка «Регистрация» показывает ✅/❌ статус регистрации сайта
- Безопасность: `class-knitcat-updater.php` обновлён до SDK 1.1.0 — проверка SHA-256 и allowed-host скачиваемого пакета обновления перед установкой (fail-closed)
- Исправление: `class-knitcat-registration.php` — исправлен баг определения версии плагина при регистрации (было `KNITCAT_KNITCAT_POS_VERSION`, стало `KNITCAT_POS_VERSION`)
- Безопасность: у всех булевых опций `register_setting()` добавлен явный `sanitize_callback`
1.17.0
25.08.2026
# Changelog## 1.17.0
- Архитектура: жёсткая зависимость от активного knitcat-woo (`knitcat_core_is_active()`) — без него POS не грузит свои модули и показывает admin-уведомление
- Архитектура: функциональные модули (POS-терминал, метабокс расчёта доставки в заказе) теперь требуют регистрации сайта (`knitcat_site_is_registered()`); страница настроек и вкладка «Регистрация» остаются доступны всегда
- UI: вкладка «Регистрация» показывает ✅/❌ статус регистрации сайта
- Безопасность: `class-knitcat-updater.php` обновлён до SDK 1.1.0 — проверка SHA-256 и allowed-host скачиваемого пакета обновления перед установкой (fail-closed)
- Исправление: `class-knitcat-registration.php` — исправлен баг определения версии плагина при регистрации (было `KNITCAT_KNITCAT_POS_VERSION`, стало `KNITCAT_POS_VERSION`)
- Безопасность: у всех булевых опций `register_setting()` добавлен явный `sanitize_callback`
1.16.0
21.08.2026
Встраивание видео Rutube (включая Shorts) в карточки товаров WooCommerce
Knitcat Rutube Videos
История изменений1.3.3
27.08.2026
# Changelog## 1.3.3
- Подключены общие классы `KnitCat_Updater` и `KnitCat_Registration` в `includes/` (скопированы без изменений из `knitcat-woo`, SDK 1.0.0): автообновления плагина теперь работают с `knitcat.ru`, а на странице настроек появилась вкладка «Регистрация» для получения license_key.
## 1.3.2
- Безопасность: `register_setting()` теперь регистрирует `sanitize_callback` явным массивом аргументов, как того требует общий стандарт KnitCat, а не сокращённой формой вызова.
## 1.3.1
- На вкладке «Видео товаров» карточка товара позволяет добавлять, редактировать и удалять ссылки прямо на странице настроек (кнопки «Добавить видео» / удаление строки / «Сохранить»), без перехода в редактор товара.
## 1.3.0
- Исправлена совместимость с BEAR — WooCommerce Bulk Editor Professional: плагин теперь корректно читает ссылку на видео, даже если сторонний редактор записал мета-поле `_knitcat_rutube_videos` строкой, а не массивом. Раньше такая запись отбрасывалась при отображении (и на карточке товара, и в редакторе), из-за чего следующее штатное сохранение товара перезаписывало мету пустым значением и ссылка «терялась».
- Настройки перенесены из меню WooCommerce в общее меню **KnitCat Plugins** (пункт «Rutube Видео»), `parent_slug = knitcat-plugins`, `priority = 20`.
- Капабилити для доступа к настройкам приведена к `edit_shop_orders` (как у остальных плагинов KnitCat).
- Плагин зарегистрирован в хабе через фильтр `knitcat_hub_plugins` (карточка появится на странице «KnitCat Plugins», если активен `knitcat-woo`).
- Хук enqueue-скриптов страницы настроек обновлён на `knitcat-plugins_page_knitcat-rutube-videos`.
- Добавлена вкладка **«Видео товаров»**:
- список всех товаров, у которых заполнено `_knitcat_rutube_videos`, со ссылками и кнопкой перехода в редактор;
- поиск товара по названию/артикулу (включая вариативные — ссылка добавляется на родительский товар) и добавление ссылки через AJAX без захода в редактор товара.
- Опция настроек плагина переименована: `knitcat_rutube_options` → `knitcat_rutube_videos_options` (по общему соглашению об именовании KnitCat), с автоматической одноразовой миграцией значения при первом обращении.
### Важно про апдейтер и регистрацию сайта
По принятому в проекте шаблону в `includes/` должны лежать `class-knitcat-updater.php` и `class-knitcat-registration.php`, скопированные без изменений из ветки `knitcat-woo` — они дают автообновления с knitcat.ru и вкладку «Регистрация». У меня нет исходников этих классов (в присланном архиве их не было), поэтому в этой версии они **не добавлены**. Вкладка «Регистрация» в интерфейсе появится автоматически, как только эти файлы будут подключены (шаблон уже готов — см. `do_action('knitcat_registration_tab_knitcat-rutube-videos')` в `render_settings_page()`), а до этого автообновление плагина отсутствует.
## 1.0.0
- Первый релиз
1.3.1
25.08.2026
# Changelog## 1.3.0
- Исправлена совместимость с BEAR — WooCommerce Bulk Editor Professional: плагин теперь корректно читает ссылку на видео, даже если сторонний редактор записал мета-поле `_knitcat_rutube_videos` строкой, а не массивом. Раньше такая запись отбрасывалась при отображении (и на карточке товара, и в редакторе), из-за чего следующее штатное сохранение товара перезаписывало мету пустым значением и ссылка «терялась».
- Настройки перенесены из меню WooCommerce в общее меню **KnitCat Plugins** (пункт «Rutube Видео»), `parent_slug = knitcat-plugins`, `priority = 20`.
- Капабилити для доступа к настройкам приведена к `edit_shop_orders` (как у остальных плагинов KnitCat).
- Плагин зарегистрирован в хабе через фильтр `knitcat_hub_plugins` (карточка появится на странице «KnitCat Plugins», если активен `knitcat-woo`).
- Хук enqueue-скриптов страницы настроек обновлён на `knitcat-plugins_page_knitcat-rutube-videos`.
- Добавлена вкладка **«Видео товаров»**:
- список всех товаров, у которых заполнено `_knitcat_rutube_videos`, со ссылками и кнопкой перехода в редактор;
- поиск товара по названию/артикулу (включая вариативные — ссылка добавляется на родительский товар) и добавление ссылки через AJAX без захода в редактор товара.
- Опция настроек плагина переименована: `knitcat_rutube_options` → `knitcat_rutube_videos_options` (по общему соглашению об именовании KnitCat), с автоматической одноразовой миграцией значения при первом обращении.
### Важно про апдейтер и регистрацию сайта
По принятому в проекте шаблону в `includes/` должны лежать `class-knitcat-updater.php` и `class-knitcat-registration.php`, скопированные без изменений из ветки `knitcat-woo` — они дают автообновления с knitcat.ru и вкладку «Регистрация». У меня нет исходников этих классов (в присланном архиве их не было), поэтому в этой версии они **не добавлены**. Вкладка «Регистрация» в интерфейсе появится автоматически, как только эти файлы будут подключены (шаблон уже готов — см. `do_action('knitcat_registration_tab_knitcat-rutube-videos')` в `render_settings_page()`), а до этого автообновление плагина отсутствует.
## 1.0.0
- Первый релиз
1.3.0
25.08.2026
# Changelog## 1.3.0
- Исправлена совместимость с BEAR — WooCommerce Bulk Editor Professional: плагин теперь корректно читает ссылку на видео, даже если сторонний редактор записал мета-поле `_knitcat_rutube_videos` строкой, а не массивом. Раньше такая запись отбрасывалась при отображении (и на карточке товара, и в редакторе), из-за чего следующее штатное сохранение товара перезаписывало мету пустым значением и ссылка «терялась».
- Настройки перенесены из меню WooCommerce в общее меню **KnitCat Plugins** (пункт «Rutube Видео»), `parent_slug = knitcat-plugins`, `priority = 20`.
- Капабилити для доступа к настройкам приведена к `edit_shop_orders` (как у остальных плагинов KnitCat).
- Плагин зарегистрирован в хабе через фильтр `knitcat_hub_plugins` (карточка появится на странице «KnitCat Plugins», если активен `knitcat-woo`).
- Хук enqueue-скриптов страницы настроек обновлён на `knitcat-plugins_page_knitcat-rutube-videos`.
- Добавлена вкладка **«Видео товаров»**:
- список всех товаров, у которых заполнено `_knitcat_rutube_videos`, со ссылками и кнопкой перехода в редактор;
- поиск товара по названию/артикулу (включая вариативные — ссылка добавляется на родительский товар) и добавление ссылки через AJAX без захода в редактор товара.
- Опция настроек плагина переименована: `knitcat_rutube_options` → `knitcat_rutube_videos_options` (по общему соглашению об именовании KnitCat), с автоматической одноразовой миграцией значения при первом обращении.
### Важно про апдейтер и регистрацию сайта
По принятому в проекте шаблону в `includes/` должны лежать `class-knitcat-updater.php` и `class-knitcat-registration.php`, скопированные без изменений из ветки `knitcat-woo` — они дают автообновления с knitcat.ru и вкладку «Регистрация». У меня нет исходников этих классов (в присланном архиве их не было), поэтому в этой версии они **не добавлены**. Вкладка «Регистрация» в интерфейсе появится автоматически, как только эти файлы будут подключены (шаблон уже готов — см. `do_action('knitcat_registration_tab_knitcat-rutube-videos')` в `render_settings_page()`), а до этого автообновление плагина отсутствует.
## 1.0.0
- Первый релиз
Расширенные функции WooCommerce: капча на регистрации, поиск по телефону, кнопки соцсетей, настройки фронтенда и многое другое
Knitcat Woo
История изменений2.7.10
25.08.2026
# Changelog## 2.7.10
- Критический фикс SDK: class-knitcat-registration.php (теперь версия 1.0.1) — регистрация сайта из настроек ЛЮБОГО KnitCat-плагина, кроме первого загрузившегося, либо тихо не сохранялась, либо сохранялась не в тот option_key. Причина: все экземпляры KnitCat_Registration вешались на общий хук wp_ajax_knitcat_register_site, а wp_send_json_*() внутри обработчика обрывает очередь через wp_die() после первого сработавшего. Теперь каждый экземпляр проверяет $_POST['plugin'] против своего slug и не вмешивается в чужие запросы. **Требует замены includes/class-knitcat-registration.php во ВСЕХ плагинах, где он уже стоит — не только в knitcat-woo.**
## 2.7.9
- Безопасность: менеджер магазина теперь может управлять только KnitCat плагинами
- Безопасность: добавлена валидация toggle_action по whitelist
- Безопасность: SQL-запрос сброса кеша переведён на $wpdb->prepare()
- Функциональные модули плагина теперь требуют регистрации сайта (бесплатной) — без неё активна только страница настроек с вкладкой «Регистрация»
- Добавлены общие функции knitcat_core_is_active() и knitcat_site_is_registered() для проверки дочерними плагинами KnitCat
- Безопасность: register_setting('kc_woo_advanced', 'kc_woo_modules') получил sanitize_callback — whitelist допустимых полей опции и приведение типов (булевы 0/1, select только из фиксированного набора, textarea через sanitize_textarea_field)
- Безопасность: автообновление (class-knitcat-updater.php, SDK 1.1.0) теперь проверяет SHA-256 скачанного zip и хост download_url (только knitcat.ru) перед установкой — fail-closed: нет хэша или не совпал — обновление не ставится
- Фикс: страница «KnitCat Plugins» иногда открывала хаб другого KnitCat-плагина вместо своего — из-за гонки приоритетов на хуке admin_menu. knitcat-woo как основной плагин теперь регистрирует меню с priority -100, гарантированно раньше остальных
- Вкладка «Регистрация» теперь показывает ✅/❌ рядом с названием в зависимости от статуса регистрации сайта
- Фикс: плагин, установленный через хаб, но ещё не активированный, бесконечно показывался в «Доступно для установки» с кнопкой «Установить» — клик заново перекачивал и перезаписывал те же файлы, создавая видимость, что установка не работает. Причина: список «установлено» строился только по активным плагинам (через фильтр knitcat_hub_plugins), а не по факту наличия папки плагина. Теперь физическое наличие проверяется через get_plugins(), а неактивные-но-установленные плагины показываются в новой секции «Требуют активации» с кнопкой активации
2.7.9
25.08.2026
# Changelog## 2.7.9
- Безопасность: менеджер магазина теперь может управлять только KnitCat плагинами
- Безопасность: добавлена валидация toggle_action по whitelist
- Безопасность: SQL-запрос сброса кеша переведён на $wpdb->prepare()
- Функциональные модули плагина теперь требуют регистрации сайта (бесплатной) — без неё активна только страница настроек с вкладкой «Регистрация»
- Добавлены общие функции knitcat_core_is_active() и knitcat_site_is_registered() для проверки дочерними плагинами KnitCat
- Безопасность: register_setting('kc_woo_advanced', 'kc_woo_modules') получил sanitize_callback — whitelist допустимых полей опции и приведение типов (булевы 0/1, select только из фиксированного набора, textarea через sanitize_textarea_field)
- Безопасность: автообновление (class-knitcat-updater.php, SDK 1.1.0) теперь проверяет SHA-256 скачанного zip и хост download_url (только knitcat.ru) перед установкой — fail-closed: нет хэша или не совпал — обновление не ставится
- Фикс: страница «KnitCat Plugins» иногда открывала хаб другого KnitCat-плагина вместо своего — из-за гонки приоритетов на хуке admin_menu. knitcat-woo как основной плагин теперь регистрирует меню с priority -100, гарантированно раньше остальных
- Вкладка «Регистрация» теперь показывает ✅/❌ рядом с названием в зависимости от статуса регистрации сайта
- Фикс: плагин, установленный через хаб, но ещё не активированный, бесконечно показывался в «Доступно для установки» с кнопкой «Установить» — клик заново перекачивал и перезаписывал те же файлы, создавая видимость, что установка не работает. Причина: список «установлено» строился только по активным плагинам (через фильтр knitcat_hub_plugins), а не по факту наличия папки плагина. Теперь физическое наличие проверяется через get_plugins(), а неактивные-но-установленные плагины показываются в новой секции «Требуют активации» с кнопкой активации
2.7.8
25.08.2026
# Changelog## 2.7.8
- Безопасность: менеджер магазина теперь может управлять только KnitCat плагинами
- Безопасность: добавлена валидация toggle_action по whitelist
- Безопасность: SQL-запрос сброса кеша переведён на $wpdb->prepare()
- Функциональные модули плагина теперь требуют регистрации сайта (бесплатной) — без неё активна только страница настроек с вкладкой «Регистрация»
- Добавлены общие функции knitcat_core_is_active() и knitcat_site_is_registered() для проверки дочерними плагинами KnitCat
- Безопасность: register_setting('kc_woo_advanced', 'kc_woo_modules') получил sanitize_callback — whitelist допустимых полей опции и приведение типов (булевы 0/1, select только из фиксированного набора, textarea через sanitize_textarea_field)
- Безопасность: автообновление (class-knitcat-updater.php, SDK 1.1.0) теперь проверяет SHA-256 скачанного zip и хост download_url (только knitcat.ru) перед установкой — fail-closed: нет хэша или не совпал — обновление не ставится
- Фикс: страница «KnitCat Plugins» иногда открывала хаб другого KnitCat-плагина вместо своего — из-за гонки приоритетов на хуке admin_menu. knitcat-woo как основной плагин теперь регистрирует меню с priority -100, гарантированно раньше остальных
- Вкладка «Регистрация» теперь показывает ✅/❌ рядом с названием в зависимости от статуса регистрации сайта
2.7.8
25.08.2026
# Changelog## 2.7.8
- Безопасность: менеджер магазина теперь может управлять только KnitCat плагинами
- Безопасность: добавлена валидация toggle_action по whitelist
- Безопасность: SQL-запрос сброса кеша переведён на $wpdb->prepare()
- Функциональные модули плагина теперь требуют регистрации сайта (бесплатной) — без неё активна только страница настроек с вкладкой «Регистрация»
- Добавлены общие функции knitcat_core_is_active() и knitcat_site_is_registered() для проверки дочерними плагинами KnitCat
2.7.7
21.08.2026
2.7.6
21.08.2026
Карточки — добавлен display:flex;flex-direction:column на каждую карточку, описание получило flex:1, поэтому оно растягивается на всё доступное место. Футер с версией и кнопкой всегда прижат к нижнему краю — независимо от длины описания все кнопки "Настройки" стоят на одной высоте.Шапка хаба — кнопка "🔄 Проверить обновления" одна, для всех плагинов сразу, стоит в правом верхнем углу. Рядом появилась ссылка "🌐 knitcat.ru".
Попутно — в register_hub_plugin добавлено поле slug: 'knitcat-woo', которое раньше отсутствовало — из-за этого хаб не мог правильно отфильтровать уже установленные плагины из раздела "Доступно для установки".
2.7.5
21.08.2026
2.7.4
21.08.2026
2.7.4
21.08.2026
Первая публичная версияКак установить
Скачайте zip-файл и загрузите через Плагины → Добавить новый → Загрузить плагин. После первой регистрации в настройках плагина обновления приходят автоматически.