/ Плагины / Купон на следующий заказ

Купон на следующий заказ

06.04.2021

33

Проработаем функционал по отправке купона на следующий заказ. Дополнительные условия:

  • Купон должен отправлять только при наличии в текущем заказе товара из определенной категории
  • Номинал купона либо 30% если сумма следующей покупки менее 3300 руб., либо 1000 руб. если сумма покупки более 3300 руб.
  • Купоны должны быть полностью одноразовыми, т.е. генерироваться индивидуально для каждого заказа, например: WB-14gf78, WB-dfgf34, и т.д.

Готовые решения

Плагин WooCommerce Next Order Coupon (100+) отправляет одноразовый (для одного пользователя) купон. В настройках можно вписать название купона (по умолчанию WELCOMEBACK) и выбрать 2 варианта скидки 5% или 10%.

В письме о текущем заказе появляется следующее уведомление.

Retainful — WooCommerce Cart Abandonment Recovery and Next Order Coupons (3000) в данном плагине совмещены функционал купона на следующий заказ и заброшенные корзины. Настроек для купона на следующий заказ побольше чем в предыдущем решении, в т.ч. по части самого купона.

Отправка купона без плагина

Создаем одноразовый (для одного пользователя) купон WELCOMBACK с необходимыми условиями.

Добавляем в письмо клиента о заказе информацию о купоне, только при наличии в заказе позиций из определенных категорий:

// Добавить в шаблон письма об успешном заказе инфу о купоне на следующую покупку
add_filter( 'woocommerce_email_after_order_table', 'next_order_message', 10, 2 );

function next_order_message($order) {
	
	foreach ( $order->get_items() as $item_id => $item ) {
		$product_cat_ids[] = wp_get_post_terms( $item->get_product_id(), 'product_cat', array('fields' => 'ids') );
	} 
	
	$product_cat_ids = array_merge(...$product_cat_ids);
	$control_cats = array(139,874,2011,2012,2013,2014,2015); // отправлять только при наличии в заказе позиций из этих категорий
	
	if ( count(array_intersect( $control_cats, $product_cat_ids )) > 0 ) { 
		echo '
		<div style="background: #0093d2; padding: 20px 30px 5px; margin-bottom: 15px; color: #fff; border-radius: 3px;">
			<h2 style="font-size: 24px; color: #fff;">Скидка 30% на следующий заказ</h2>
			<p>Возвращайтесь за новыми покупками! Мы дарим вам купон на следующий заказ от 3300 руб.: <strong>WELCOMEBACK</strong></p>
		</div>
		';		
	} 

}

Если нужно вывести эту же информацию в шаблоне успешного заказа, с благодарностью о покупке, то в шаблоне woocommerce/checkout/thankyou.php в нужном месте нужно добавить action:

<?php do_action( 'next_order_message_in_current_order', $order->get_id() ); ?>

И к нему в functions.php привязать аналогичную функцию:

add_action('next_order_message_in_current_order', 'next_order_message_site' );

function next_order_message_site($order_id) {
	
	$order = wc_get_order( $order_id );
	
	foreach ( $order->get_items() as $item_id => $item ) {
		$product_cat_ids[] = wp_get_post_terms( $item->get_product_id(), 'product_cat', array('fields' => 'ids') );
	} 
	
	$product_cat_ids = array_merge(...$product_cat_ids);
	$control_cats = array(139,874,2011,2012,2013,2014,2015); // показывать только при наличии в заказе позиций из этих категорий
	
	if ( count(array_intersect( $control_cats, $product_cat_ids )) > 0 ) { 
		echo '
		<div style="background: #0093d2; padding: 20px 30px 5px; margin-bottom: 15px; color: #fff; border-radius: 3px;">
			<h2 style="font-size: 24px; color: #fff;">Скидка 30% на следующий заказ</h2>
			<p>Возвращайтесь за новыми покупками! Мы дарим вам купон на следующий заказ от 3300 руб.: <strong>WELCOMEBACK</strong></p>
		</div>
		';		
	}

}

Вариативный номинал купона

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

Поделиться в соц. сетях:

  • Похожие записи
  • Комментарии
  • Вложения
Альтернативная галерея WC

Альтернативная галерея WC

При попытке совместить в одной галереи различные удачные решения получались различные конфликты. Родной слайдер никак не хочет синхронизироваться с миниатюрами. При подключении Zoom Magnifier (например YITH) ломается вывод миниатюр, особенно Читать далее »

Подарок за покупку

Подарок за покупку

Изучим и рассмотрим такой инструмент продаж как подарок за покупку. Вариантов такого поощрения может быть масса: подарок при покупке конкретного товара (из конкретной категории), подарок при наборе в корзине определенной Читать далее »

Способ доставки Деловыми линиями

Способ доставки Деловыми линиями

Внедряем в пользовательский способ доставки расчет стоимости Деловых линий. Работа с API Деловые линии Данный функционал я почерпнул с сайта lospirata.ru, но немного упростил. Скрипт ajax-обмена данными: Форма расчета: Содержимое Читать далее »

Добавить комментарий

Пока нет комментариев. Будь первым!

Купон на следующий заказ Купон на следующий заказ
Записи-метки на картах
Рекомендации для васЗаписи-метки на картахOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.