Сен
11
12

Как установить максимальный и минимальный заказ в WooCommerce

Минимальный / максимальный заказ в WooCommerceВместе с функциями вариативных товаров и отправки PDF счетов на оплату во многих интернет-магазинах можно встретить ограничение в виде минимальной суммы заказа. Если владелец тратит на доставку товара больше чем зарабатывает на нем, то сделка получается не особо выгодной. «Гнаться» за всеми покупателями нет смысла, тем более, когда при этом вы работаете в минус. К счастью, в магазинах на WooCommerce допускается установка значения минимально возможного заказа. Реализуется это как с помощью модулей, так и просто добавлением небольшого хака. Рассмотрим оба варианта.

По плагинам было найдено несколько решений:

  • Min and Max Purchase — универсальный подход, но сложный и может вызывать чрезмерную нагрузку.
  • Minimum Purchase for WooCommerce — модификация предыдущего метода, работает только для «минимума» суммы и товаров.
  • Minimum Order Amount — все очень просто, учитывается сумма корзины.
  • Minimum and Maximum Quantity — настройка минимум/максимум для покупки конкретного товара.
  • YITH WooCommerce Minimum Maximum Quantity — еще один вариант по количеству продукции.

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

Сниппет для решения задачи

Данный пример взят с официального сайта WooCommerce тут. Вариант под старую версию 2.0.x смотрите в документации, ниже я привожу код для последней версии. В файл функций вашей темы functions.php нужно добавить следующие строки:

add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' );
 
function wc_minimum_order_amount() {
    // Set this variable to specify a minimum order value
    $minimum = 100;
 
    if ( WC()->cart->total < $minimum ) {
 
        if( is_cart() ) {
 
            wc_print_notice( 
                sprintf( 'You must have an order with a minimum of %s to place your order, your current order total is %s.' , 
                    wc_price( $minimum ), 
                    wc_price( WC()->cart->total )
                ), 'error' 
            );
 
        } else {
 
            wc_add_notice( 
                sprintf( 'You must have an order with a minimum of %s to place your order, your current order total is %s.' , 
                    wc_price( $minimum ), 
                    wc_price( WC()->cart->total )
                ), 'error' 
            );
 
        }
    }
 
}

Здесь переменная $minimum = 100 указывает минимальную сумму заказа в WooCommerce. Вместо фразы «You must have an order…» добавляете свой текст, который будет выводиться в случае срабатывания ошибки. При этом не удалите из него случайно параметры %s, что выводят заданное ограничение и текущую сумму в корзине.

В коде для проверки используется переменная cart->total, но если у вас включены налоги и доставка, то возможно придется поменять ее на cart->subtotal дабы не учитывать их при расчете ограничений.

Теоретически, функцию wc_minimum_order_amount можно подправить дабы срабатывало и максимальное ограничение. Для этого просто меняете знак «<» на «>». Ну, или если хотите, чтобы все было красиво, используете другие названия переменных.

Плагины максимального и минимального заказа

Min and Max Purchase for WooCommerce

Начнем с достаточно универсального решения — Min and Max Purchase. Оно позволяет устанавливать минимальные и максимальные правила для магазинов на WooCommerce версии 1.0 и выше (мной тестировался на версии 2.6.x, по описанию поддерживает 3.1.x).

Плагин Min and Max Purchase for WooCommerce

Заказать товар без соблюдения ваших условий у покупателя просто не получится. Если минимальный заказ в WooCommerce не будет достигнут, на странице появится соответствующее сообщение с ошибкой и пояснением. Только после того, как пользователь его выполнит, он сможет завершить процесс покупки.

После установки плагина в админке появится целый раздел Min and Max Purchase Rule. Здесь есть общие настройки (Rules Options Settings), список имеющихся правил (Min and Max Purchase Rules), апдейт до Pro версии, ну и конечно создание нового правила — Add New. Кликаем по данной ссылке.

Min and Max Purchase - добавление нового правила

Изначально следует заметить, что половина опций недоступна для выбора в бесплатной версии. Такие настройки отмечены серым, и вы не сможете с ними работать.

Рассмотрим пример с минимальной суммой заказа WooCommerce. На странице доступны следующие параметры:

  1. Rule Evaluation Type. Определяете нужное ограничение — минимальный или максимальный заказ. Выбираем первый.
  2. Membership List by Role. Указывайте для каких ролей пользователей на сайте будет применено данное правило: покупателей, редакторов магазина, админа и т.п. Я поставил галочки напротив полей Customer, Shop Manager, Not logged in.
  3. Select Rule Application Method. Опция показывает в каких товарах применяется ограничение. Есть: All (все), Each (каждый), Any (любой). Нам нужен первый вариант.
  4. Select Rule Amount Option. Задается величина ограничения — может быть по числу товаров, например, если нужно указывать максимальное или минимальное количество товара для покупки (Apply to Quantity Total) или сумме покупки (Apply to Price). Выбираем последнее.
  5. Custom Message Text — вводите сообщение, отображаемое при срабатывании правила.

Итого. При задании минимальной суммы заказа в WooCommerce через плагин Min and Max Purchase вы создаете новое правило, кликая Add New, в котором указываете:

  • Rule Evaluation Type = Minimum Purchase threshhold.
  • Select Max Rule Type (не используется).
  • Select Search Type (не используется).
  • Membership List by Role = Customer, Shop Manager, Not logged in.
  • Select Rule Application Method = *All* in the Population.
  • Select Rule Amount Option = Apply to Price (+ вводите min сумму).
  • Custom Message Text = сообщение с ошибкой.

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

Min and Max Purchase - минимальный заказ

Внимательно посмотрев на параметры модуля Min and Max Purchase, поймете, что с его помощью также можно установить и максимальное количество товара в заказе. Причем как для всей корзины, так и отдельных ее позиций. Вам нужно будет лишь немного поэкспериментировать с параметрами.

Внимание(!) Во время работы с одной из последних версий наблюдалась чрезмерная нагрузка на сайт (тестировал через pingdom.com), поэтому вынужден был отказаться от него в пользу следующего варианта ниже.

Minimum Purchase for WooCommerce

Когда стоит задача указывать лишь минимальный заказ WooCommerce по сумме или количеству товаров, то есть смысл использовать данное решение. Minimum Purchase for WooCommerce во многих деталях аналогичен предыдущему (т.к. создатель один), но работает только с «минимумом», и, по идее, чуть проще.

Minimum Purchase for WooCommerce

Показательно, что загрузок у модуля больше чем у Min and Max Purchase — около 3 тысяч, и оценка получше. Совместимость до WP 4.8.1.

Принцип такой же как и в рассмотренном выше плагине, поэтому я не буду повторяться. Из функций:

  • задание минимальных значений покупки;
  • ввод фразы, отображаемой при не соблюдении условия;
  • настройки для всей корзины, отдельных продуктов или вариаций товаров.

В прошлой версии данной статьи я писал небольшое предупреждение по этому модулю, т.к. при работе у меня случился глюк, и сообщение с ошибкой дублировалось. Такая проблема была у многих, но сейчас я ее не наблюдаю! Вероятно, уже исправили косяк (тестировал на WordPress 4.8.1 + WooCommerce 2.6.14).

Кстати, у разработчика есть аналогичное решение для максимальных значений — Maximum Purchase for WooCommerce, но там весьма невысокие показатели загрузки и оценка. Видимо, задача не такая популярная.

Minimum Order Amount for Woocommerce

Единственная функция плагина Minimum Order Amount — установка в WooCommerce минимальной суммы заказа. Он создан на основе Boilerplate и совместим с Woocommerce 2.1+, Price Based on Country и Polylang.

Minimum Order Amount for Woocommerce

Здесь достаточно много загрузок — около тысячи и оценка максимальная. Единственное смущает тестирование решения до WP 4.7.5, правда, я не думаю, что на более старших оно вдруг не пойдет.

Самое классное здесь то, что все настройки представлены на одной странице без создания каких-то правил, дополнительных записей и т.п. Наверняка этот модуль более простой и легкий по сравнению с предыдущими. По функциональности 1 в 1 как в сниппете.

Настройки Minimum Order Amount

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

Woocommerce Minimum and Maximum Quantity

Плагин Minimum and Maximum Quantity немного отличается от тех, что выше, — он позволяет устанавливать максимальное и минимальное количество товара для заказа в WooCommerce. Не смотря на то, что это бета версия, здесь уже около 900+ скачиваний.

Woocommerce Minimum and Maximum Quantity

Обновлялся модуль совсем недавно — месяца два назад, работа над глюками постепенно идет. Требования к версиям Вордпресс — от 3.3.1 до последней сейчас 4.8.1.

Настройки производятся при редактировании отдельных товаров. К сожалению, в Woocommerce Minimum and Maximum Quantity нет какой-то глобальной опции или хотя бы параметров для категорий.

Настройки Woocommerce Minimum and Maximum Quantity

Возможно, в будущем (с выпуском официальной версии) функционал будет расширен, автор в курсе задач, которые пользователи хотели бы видеть. Кстати, если уж речь идет о количестве продукции в корзине, то вам пригодится заметка про огранизацию в WooCommerce оптовых цен и скидок.

YITH WooCommerce Minimum Maximum Quantity

Плагин YITH Minimum Maximum Quantity от популярной компании YITH также позволяет решать задачу минимального и максимального количества товаров для заказа в WooCommerce. Это бесплатная (Free) версия более продвинутого решения.

YITH WooCommerce Minimum Maximum Quantity

Из настроек тут только 3 элемента:

  • галочка включения/выключения модуля;
  • минимальное количество;
  • максимальное число товара в корзине.

Число загрузок — от 600 штук, оценки пока нет, но разработчик достаточно узнаваемый и серьезный. В Pro версии, разумеется, фишек больше, но и цена там немаленькая.

Итого. Данные плагины и сниппет «обезопасят» продавца магазина в некоторых ситуациях, например, позволят не продавать товары по 1-2 шт., если это не выгодно, или не дадут распродать все запасы склада лишь несколькими клиентами. Какой из вариантов выбрать — смотрите по ситуации, но чем проще — тем лучше. Если вам нужен лишь минимальный заказ в WooCommerce по сумме корзины, то можно воспользоваться сниппетом, для ограничения количества пригодятся модули.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 5, средний балл: 6,40 из 7)
Загрузка...

категория Категории: WooCommerce; Плагины;
теги Теги: , , , , , .

комментариев 12 к статье “Как установить максимальный и минимальный заказ в WooCommerce”

  • Валерий   27.04.2016

    Здравствуйте! Спасибо вам за интересную и полезную статью о такой востребованной теме как магазин на WooCommerce. С уважением, Валерий Бородин!

  • Сергей   03.05.2016

    Спасибо.

  • Иван   13.12.2017

    Добрый день! Помогите решить проблему! Для WooCommerce найти плагин или дополнение для ограничения минимального добавляемого количества товара по каждой группе товара или определенному товару (речь идет о продаже товара в оптовой сфере! Товар идет пачками, тюками или другими формами отпуска)
    То есть необходимо добавить в каждой карточке товара или хотя бы группе возможность добавления в корзину минимально заданного в карточке или группе товара к продаже.

  • Tod   14.12.2017

    Иван, конкретно вашу задачу я не решал, советую просмотреть все модули, о которых здесь идет речь. Насколько я помню, там есть минимальный объем товара в заказе, но как это относится к опту — не могу сказать. Возможно, в каком-то из плагинов придется докупить премиальную версию. Нужно внимательно почитать описание функций каждого из решений, упомянутых в статье.

  • Дмитрий   28.01.2018

    Приветствую! Как сделать минимальную сумму заказа только для одной из зон доставки?

  • Tod   29.01.2018

    Дмитрий, посмотрите модуль Min and Max Purchase, он в подборке самый функциональный — по ролям точно есть ограничение, возможно, и по зоне доставки тоже будет.

  • Илья   24.11.2018

    Здравствуйте! Может быть сталкивались с такой задачей как установка всплывающего окна при недоборе минимальной суммы?
    Есть плагины всплывающих окон, но там вызов такого окна можно привязать либо к ссылке, либо к времени (например через 10 секунд). Так вот вопрос — может знаете как сделать чтобы окно выскакивало по ссылке «Оформить заказ», но только если сумма ниже минимальной?

  • Tod   26.11.2018

    Илья, не сталкивался, как вариант — редактировать код одного из модулей, используемых для минимальной цены. Находите в PHP коде где срабатывает событие отображения текста о том, что пользователь недобрал нужного товара и вставляете там javascript вывода всплывающего окна. Тут без программирования не обойтись, увы.

  • Наталья   03.05.2019

    Увы, данный сниппет не работает

  • Наталья   03.05.2019

    Спасибо, разобралась — по Вашей ссылке на сайт Woocommerce нашла измененный сниппет. А скажите пожалуйста, можно сделать так, чтобы в сумму минимального заказа не включалась стоимость доставки? У меня стоимость доставки разная

  • Tod   03.05.2019

    Наталья, старнно, сравнил код с тем, что на сайте Woocommerce — почти один в один, логика точно похожа. Попробуйте использовать в коде вместо WC()->cart->total другое значение: WC()->cart->subtotal и отпишитесь помогло ли это?

  • Наталья   06.05.2019

    Большое спасибо! Все получилось! Совсем не подумала, что здесь элементарная замена. Совсем недавно сайтами занялась :)

Оставить комментарий


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости