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

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

06.04.2021

315

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

  • Купон должен отправлять только при наличии в текущем заказе товара из определенной категории
  • Номинал купона либо 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 одинаковых купона, но с разными условиями, но система предупредила что такой купон уже существует и будет использован тот который создан последним.

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

  • Похожие записи
  • Комментарии
  • Вложения
Связывание товаров

Связывание товаров

Если товары продаются несколькими частями, но части нужно связать чтобы одну без другой нельзя было приобрести, можно связать такие товары. Как вариант такие товары можно заводить как один товар (в Читать далее »

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

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

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

Вкладка Дополнительная информация

Вкладка Дополнительная информация

У товаров WC есть вкладка Дополнительная информация (Additional Information), в которой по-умолчанию выводятся атрибуты, вес и габариты товара. Добавим в эту вкладку дополнительные данные. Проверки содержит ли товар атрибуты, вес Читать далее »

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

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

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