Связаться
  • WordPress
  • Доставка
  • v1.0.1

Conditional Shipping & Payment Rules для WooCommerce — показ способов доставки и оплаты по условиям

Скрывайте или оставляйте только нужные способы доставки и оплаты по роли покупателя, куке сайта, городу, индексу, весу, сумме и составу корзины. Классический и блочный чекаут WooCommerce.

Скачать Free
Pro · лицензия на год Чем больше сайтов, тем дешевле каждый
Совместимость
WordPress 5.6+ · WooCommerce 6.0+ (проверено на WP 7.1 / Woo 11.1) · PHP 7.4+ · HPOS · классический и блочный чекаут
Лицензия
один сайт, годовая
Триал
7 дней, без карты, один на сайт
Или все 119 Pro-модулей в All Access — 4 990 ₴ / год

Что есть во Free,
а что даёт Pro

Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.

Функция Free Pro
Действия «Скрыть» и «Оставить только» для способов доставки и способов оплаты ✔ ✔
Включённых правил 1 без ограничений
Условия: роль покупателя (плюс «гость» и «любой зарегистрированный»), страна, сумма корзины от / до ✔ ✔
Классический и блочный чекаут WooCommerce — одно решение из PHP, HPOS ✔ ✔
Кеш ставок доставки сбрасывается именно тогда, когда меняется ответ правила ✔ ✔
Защита «никогда не оставлять чекаут без способов» ✔ ✔
Журнал решений в WooCommerce → Статус → Журналы ✔ ✔
Языки: English, українська, русский ✔ ✔
Условие по куке сайта: name, !name, name=value, name=abc* — ✔
Город, область, почтовый индекс (точный, 12*, диапазон 10000...20000) — ✔
Вес корзины и количество товаров — ✔
Категория, ID товаров и класс доставки в корзине — ✔
Перекрёстные условия: скрыть оплату под способ доставки и доставку под способ оплаты — ✔
Диапазон дат — ✔
Приоритет правил и режим «достаточно любого условия» — ✔

Как это выглядит

Блочный чекаут WooCommerce: при курьерской доставке наложенный платёж скрыт правилом
Блочный чекаут, правило «скрыть наложенный платёж при курьерской доставке»: выбран Flat rate — среди оплат остались только банковский перевод и чек. Переключите на самовывоз — наложенный платёж вернётся без перезагрузки.
Карточка правила в настройках: действие, способы доставки, приоритет, роль покупателя, страна, сумма корзины
Карточка правила: «Скрыть» → способы доставки → Самовывоз, приоритет, способ объединения условий и базовые условия бесплатной версии — роль покупателя, страна, сумма корзины. Админка на скрине — на украинском.
Pro-условия правила: кука, город, область, индекс, вес, количество, категория, товары, класс доставки, выбранный способ, даты
Pro-условия: кука сайта, город, область, почтовый индекс, вес и количество, категория, ID товаров, класс доставки, выбранный способ оплаты или доставки, диапазон дат.

Главное о модуле

Как это выглядит для покупателя

Покупатель ничего особенного не видит — и в этом суть. Он просто получает более короткий и правильный список.

Что получает админ

Отдельная страница WooCommerce → Правила доставки и оплаты. Каждое правило — карточка: что сделать, с какими способами, при каких условиях.

Триал стартует, когда вы попросите

Свежая установка — бесплатная версия, ничего не включается само. Кнопка «Попробовать Pro 7 дней» → e-mail → ключ сразу в окне и письмом.

Один ключ — один сайт

Переносите магазин — отвяжите лицензию на старом домене и активируйте на новом сами. Если наш сервер недоступен, Pro работает ещё 14 дней. Для студий — ключи на 5, 25 сайтов или без ограничений.

Технические требования

  • WooCommerce 6.0+ с классическим или блочным чекаутом, совместимость с HPOS.
  • WordPress 5.6+ · PHP 7.4+
  • Работает с любыми способами доставки и оплаты, которые регистрируются штатно: единый тариф, самовывоз, бесплатная доставка, Новая Почта, Укрпочта, платёжные шлюзы.
  • Цену доставки плагин не меняет — он решает, какие способы показать. Цены остаются за WooCommerce и вашим плагином тарифов.
  • Проверено на WordPress 7.1 и WooCommerce 11.1 и 10.7: классический и блочный чекаут, гость и покупатель с аккаунтом, заказ до конца.

История версий

v1.0.1 Текущая

Бесплатная и Pro-версия больше не конфликтуют при одновременной установке, удаление одной копии не стирает правила.

v1.0.0

Первый выпуск: правила «скрыть / оставить только» для способов доставки и оплаты; условия по роли, куке, стране, области, городу, индексу, сумме, весу, количеству, категории, товару, классу…

Вместе с Conditional Shipping & Payment Rules для WooCommerce покупают

4 модуля одним заказом — на 40% дешевле, чем по отдельности

Набор «Старт магазина» Conditional Shipping & Payment Rules Nova Poshta Premium LiqPay Telegram-уведомления и Viber/SMS покупателям Нужно больше — все 119 модулей в All Access за 4 990 ₴.
3 590 ₴ / год вместо 5 960 ₴ поштучно
Купить набор →

Полное описание модуля

Conditional Shipping & Payment Rules для WooCommerce — плагин, который показывает покупателю только те способы доставки и оплаты, которые ему действительно подходят. WooCommerce предлагает всё, что подходит к зоне доставки. Реальному магазину нужно меньше: без наложенного платежа для гостей, курьер только по одному городу, без самовывоза для тяжёлой корзины, отдельный набор для оптовиков, свой вариант для школы или дилера, пришедших по собственной ссылке.

Плагин превращает это в правила, которые легко прочитать: скрыть (или оставить только) эти способы доставки или эти способы оплаты, когда корзина и покупатель выглядят так.

Как это выглядит для покупателя

Покупатель ничего особенного не видит — и в этом суть. Он просто получает более короткий и правильный список. Сменил город — список доставки обновился без перезагрузки страницы. Выбрал курьера — исчез наложенный платёж. Выбрал наложенный платёж — исчез самовывоз, если вы так настроили.

  • Гость и покупатель с аккаунтом видят разные наборы: например, наложенный платёж только для тех, кто уже покупал и имеет аккаунт.
  • Школа, дилер, партнёр. Ваш сайт ставит куку, когда человек приходит по своей ссылке, — и на чекауте он видит только свой способ доставки. Именно с этого запроса плагин и начался.
  • Скрытый способ не протолкнуть. Попытка оплатить скрытым способом через запрос в обход страницы на блочном чекауте возвращает ошибку, заказ не создаётся. На классическом WooCommerce отвечает «Неверный способ оплаты».

Что получает админ

Отдельная страница WooCommerce → Правила доставки и оплаты. Каждое правило — карточка: что сделать, с какими способами, при каких условиях.

  • Два действия: «Скрыть» убирает выбранные способы, «Оставить только» убирает всё, кроме выбранных.
  • Способ целиком или один экземпляр в зоне: можно скрыть «Единый тариф» во всех зонах или только в одной.
  • Приоритет: правила выполняются от меньшего числа к большему, и каждое только сужает список. Более позднее правило не может вернуть то, что убрало предыдущее, — поведение легко предсказать.
  • «Все условия» или «любое» — на выбор для каждого правила. Пустое условие не проверяется.
  • Журнал: каждое решение пишется в WooCommerce → Статус → Журналы, так что видно, почему способ показался или нет.
  • Ручные заказы в админке правила не трогают: менеджер видит все способы.

Как это работает — шаг за шагом

  1. Покупатель открывает корзину или чекаут. WooCommerce считает доступные способы доставки для его адреса.
  2. Плагин собирает снимок: роль, куки, которые читают ваши правила, адрес, вес, количество, сумма, категории и классы доставки товаров, выбранный способ оплаты или доставки, сегодняшняя дата в часовом поясе магазина.
  3. Правила проходят по приоритету. Каждое, чьи условия выполнились, скрывает свои способы или оставляет только их.
  4. Если после этого не осталось ни одного способа, а защита включена, покупатель получает полный список, а в журнал идёт предупреждение.
  5. Тот же результат получают классический чекаут и блочный чекаут через Store API.
  6. Покупатель меняет город, куку или способ — WooCommerce пересчитывает ставки, потому что плагин кладёт всё, что читают правила, в отпечаток пакета доставки. Старый список из кеша не «залипает».

Что под капотом

  • Кеш ставок доставки. WooCommerce кеширует рассчитанные ставки в сессии по хешу пакета. Всё, что читают правила и чего в пакете нет (роль, куки, выбранный способ оплаты, дата, сами правила, состояние лицензии), плагин добавляет в пакет одним ключом. Кеш сбрасывается именно тогда, когда меняется ответ, — и не чаще. Именно здесь спотыкаются похожие плагины: покупатель изменил условие, а видит старый список.
  • Блочный чекаут и оплата. В блочном чекауте список способов оплаты собирается в браузере, поэтому одного PHP-фильтра мало. Решение принимает PHP и передаёт его в корзину Store API, а скрипт плагина применяет его на странице.
  • Перекрёстные условия «оплата под доставку» и «доставка под оплату» работают на обоих чекаутах; скрипты подключаются только тогда, когда такое правило действительно есть.
  • Честный бесплатный уровень. Правило, опирающееся на Pro-условие, на Free не выполняется вообще, а не «без этого условия». Иначе «без курьера для Гамбурга» после конца триала стало бы «без курьера для всех».
  • Ничего лишнего в базе: собственных таблиц нет, настройки и правила — две опции. Удаление плагина убирает всё за собой.

Как установить

  1. Плагины → Добавить новый → Загрузить плагин: выберите conditional-shipping-and-payment-rules-for-woocommerce-1.0.1.zip и активируйте.
  2. Откройте WooCommerce → Правила доставки и оплаты.
  3. Добавьте правило: «Скрыть» или «Оставить только», способы доставки или оплаты, условия. Включите и сохраните.
  4. Откройте чекаут в окне инкогнито (как гость) и с аккаунтом — проверьте, что список меняется так, как вы задумали.
  5. Для Pro: вставьте лицензионный ключ из письма после оплаты или запустите 7-дневный триал кнопкой на той же странице.

Вопросы
о модуле

Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.

@catcode_support Настройка, совместимость, активация
Правило сохранено, а способ всё ещё виден. Почему?

Правила работают только на витрине. Проверьте, что правило включено, что выбран именно тот способ, который предлагает зона, и что условия действительно подходят вашей тестовой корзине. Включите журнал в настройках: WooCommerce → Статус → Журналы, источник «ccsr» — там записано каждое решение.

Работает ли с блочным чекаутом?

Да. Способы доставки фильтруются на сервере, поэтому блочный чекаут получает тот же список. Способы оплаты тоже решает сервер, а блочный чекаут получает это решение через Store API. Попытку оплатить скрытым способом в обход страницы сервер отклоняет.

Я скрыл всё, и теперь никто не может заказать.

Защита «Никогда не оставлять оформление заказа совсем без методов» включена по умолчанию и возвращает полный список, если правила его опустошили. Если вы её выключили — включите снова.

Можно скрыть наложенный платёж только для одного города?

Да, в Pro: «Скрыть» → «способы оплаты» → выберите способ, затем заполните условие «Город». Добавьте страну, если такое название города есть где-то ещё.

Плагин меняет цену доставки?

Нет. Он решает, какие способы показать. Цены остаются за WooCommerce и вашим плагином тарифов.

Что будет, когда закончится триал?

Будет работать первое включённое правило с базовыми условиями. Правила с Pro-условиями сохраняются, но не выполняются, пока не включится лицензия: без своего условия такое правило скрывало бы больше, чем вы просили.

Не тот вариант, что искали?

Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.

Заказать кастомный модуль