В WooCommerce есть встроенный функционал для работы с промокодами (купонами). В этой инструкции расскажем, как активировать промокоды, как добавить новый промокод, а также как установить ограничения и лимиты на использование промокода.
Как включить использование промокодов
По умолчанию функционал с купонами выключен. Чтобы его включить:
- Перейдите в раздел «WooCommerce – Настройки».
- На вкладке «Основные» найдите опцию «Использование купонов».
- Поставьте галочку в поле «Включить использование купонов».
- Нажмите внизу страницы «Сохранить изменения».

Как создать промокод
- Перейдите в раздел «Маркетинг – Купоны»:
- Если вы раньше не создавали промокоды, здесь будет пустой экран с кнопкой «Создайте свой первый купон» и ссылкой на англоязычную документацию по работе с промокодами.
- Если вы уже создавали промокоды раньше, здесь будет таблица с этими промокодами.
- Нажмите кнопку «Добавить купон» вверху страницы.
- Введите промокод или нажмите «Генерировать код купона», если хотите, чтобы WooCommerce сделал это за вас. Промокоды НЕ регистрозависимые.
- Введите описание (необязательно). Это информация о промокоде для внутреннего использования, посетители её не будут видеть. Здесь можно указать название акции, срок действия промокода, тему письма или имя клиента, к которому этот промокод относится.
- Выберите тип скидки из выпадающего списка. Есть три варианта:
- Процент скидки — сколько процентов с общей суммы чека должен отнять промокод. Например, если в корзине три футболки по 1000 гривен (общая сумма чека = 3000 грн), промокод на 10% снизит цену на 300 грн.
- Фиксированная скидка на покупку — сколько гривен от общей суммы чека отнять промокод. Например, если в корзине три футболки по 1000 гривен (общая сумма чека = 3000 грн), промокод на 100 грн снизит цену на 100 грн.
- Фиксированная скидка на товар — сколько гривен с каждого товара должен отнять промокод. Например, если в корзине три футболки по 1000 гривен (общая сумма чека = 3000 грн), промокод на 100 грн снизит цену на 300 грн.
- Введите величину купона. Вводите здесь только цифры без знаков процента (%) или иконки валюты (₴, $, €). Если нужно, чтобы промокод давал скидку 10%, введите 10.
- Поставьте галочку в опции «Бесплатная доставка», чтобы промокод сделал доставку бесплатной. Для этого в списке способов доставки должен быть вариант «Бесплатная доставка» и в его параметрах должно быть выбрано, что для этого нужен промокод.
- Укажите дату истечения срока действия промокода (необязательно). В указанный здесь день промокод перестанет работать.
- Нажмите «Опубликовать» в правом верхнем углу страницы.

Как установить ограничения и лимиты
На странице создания промокода, кроме основного раздела с опциями, будет ещё два дополнительных раздела: «Ограничения применения» и «Лимиты использования». В этом разделе рассмотрим, какие опции есть в этих разделах.
Ограничения применения
Здесь вы найдёте условия, которые должны быть выполнены, чтобы промокод сработал. Эти условия могут касаться суммы заказа или конкретных товаров в заказе. Вот описание каждой из доступных опций:
- Минимальный расход — минимальная сумма заказа для использования промокода. WooCommerce использует стоимость товаров в корзине + размер налогов, чтобы определить минимальную сумму заказа.
- Максимальный расход — максимальная сумма заказа для использования промокода.
- Несовместимость — запрет на использование этого промокода с другими промокодами.
- Только без скидок — запрет на использование промокода для выставленных на распродажу товаров.
- Товары — товары, для которых будет работать промокод.
- Исключить товары — товары, для которых НЕ будет работать промокод.
- Категории товаров — категории товаров, для которых будет работать промокод.
- Исключить категории — категории товаров, для которых НЕ будет работать промокод.
- Допустимые Email’ы — email-адреса пользователей, которые имеют право использовать промокод. Так вы можете сделать персональный промокод на день рождения или для подарочного сертификата.
- Товарные бренды — бренды товаров, для которых будет работать промокод.
- Исключить бренды — бренды товаров, для которых НЕ будет работать промокод.
Нюанс 👀
Если хотите, чтобы промокод распространялся на все товары в каталоге, не заполняйте поля «Товары», «Категории» и «Бренды».

Лимиты использования
Здесь вы можете указать, сколько раз покупатели могут использовать промокод. Есть три опции:
- Общий лимит купона — сколько раз в целом можно использовать промокод.
- Лимит применения на Х товаров — максимальное число индивидуальных товаров в корзине, на которые будет распространяться скидка. Оставьте поле пустым, чтобы промокод применялся на все товары в корзине.
- Лимит пользователя — сколько раз промокод может использовать один человек.

Как заменить текст «купон» на «промокод»
В корзине и на странице оформления заказа промокод будет называться «купон». Если вам больше нравится слово «промокод», вы можете внедрить его, добавив такой код в файл functions.php
в папке с вашей темой:
// Изменить «купон» на «промокод» на странице корзины
add_filter( 'gettext', 'woocommerce_rename_coupon_field_on_cart', 10, 3 );
function woocommerce_rename_coupon_field_on_cart( $translated_text, $text, $text_domain ) {
if ( is_admin() || 'woocommerce' !== $text_domain ) {
return $translated_text;
}
if ( 'Coupon:' === $text ) {
$translated_text = 'Промокод:';
}
if ('Coupon has been removed.' === $text){
$translated_text = 'Промокод удалён.';
}
if ( 'Apply coupon' === $text ) {
$translated_text = 'Применить промокод';
}
if ( 'Coupon code' === $text ) {
$translated_text = 'Промокод';
}
return $translated_text;
}
// Изменить слово «купон» на «промокод» на странице заказа
add_filter( 'woocommerce_checkout_coupon_message', 'woocommerce_rename_coupon_message_on_checkout' );
function woocommerce_rename_coupon_message_on_checkout() {
return 'У вас есть промокод?' . ' <a href="#" class="showcoupon">' . __( 'Нажмите здесь, чтобы ввести', 'woocommerce' ) . '</a>';
}
add_filter('woocommerce_coupon_error', 'rename_coupon_label', 10, 3);
add_filter('woocommerce_coupon_message', 'rename_coupon_label', 10, 3);
function rename_coupon_label($err, $err_code=null, $something=null){
$err = str_ireplace("Купона","Промокода", $err);
$err = str_ireplace("Код купона","Промокод", $err);
return $err;
}
// Изменить «купон» на «промокод» во вспомогательном тексте на странице заказа
add_filter( 'gettext', 'woocommerce_change_coupon_field_instruction_text' );
function woocommerce_change_coupon_field_instruction_text($translated) {
$translated = str_ireplace('Если у вас есть код купона, укажите его ниже.', 'Если у вас есть промокод, укажите его ниже.', $translated);
return $translated;
}
// Изменить «купон» на «промокод» в деталях заказа
add_filter('woocommerce_cart_totals_coupon_label', 'woocommerce_change_coupon_label');
function woocommerce_change_coupon_label($coupon)
{
$coupon_code = substr($coupon, strpos($coupon, ': ') + 1);
return 'Промокод: '.$coupon_code;
}
// Изменить «купон» на «промокод» в сообщении о применении купона в корзине и на странице заказа
add_filter( 'woocommerce_coupon_message', 'filter_woocommerce_coupon_message', 10, 3 );
function filter_woocommerce_coupon_message( $msg, $msg_code, $coupon ) {
if( $msg === __( 'Coupon code applied successfully.', 'woocommerce' ) ) {
$msg = sprintf(
__( "Промокод применён.", "woocommerce" ),
'<strong>' . $coupon->get_code() . '</strong>'
);
}
return $msg;
}
Особенности применения промокодов
Чтобы добавить промокод, покупатель должен нажать на кнопку «Добавить купон» в корзине или на странице оформления заказа, ввести рабочий промокод и нажать «Применить». Если вдруг промокод неправильный или его срок действия истёк, отобразится сообщение об ошибке.
Администраторы магазина могут добавлять промокоды для заказов в статусе «Ожидает оплаты» и созданных вручную заказов. Для этого нужно нажать «Добавить купон» в деталях заказа внизу.
Есть также два нюанса, связанных с тем, как применяется скидка от промокода:
- Налоги: Промокоды применяются к цене на товар до расчёта налогов, чтобы их сумма рассчитывалась корректно.
- Доставка: Промокоды не распространяются на стоимость доставки, поскольку она не считается товаром в корзине, а промокоды могут применяться только к товарам. Единственное исключение — когда промокод предоставляет бесплатную доставку.