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

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

HIT

06.04.2021

1389

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

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

[site-socialshare]
  • Похожие записи
  • Комментарии
  • Вложения
Статусы заказов

Статусы заказов

Как и любой интернет-магазин Woocommerce присваивает заказам определенные статусы в зависимости от отплаты и формирования заказа. Существует 7 различных статусов заказа: Связь формы оплаты и статуса заказа Если выбрать форму Читать далее »

Акция 20% на каждый второй и 30% на каждый 3 товар

Акция 20% на каждый второй и 30% на каждый 3 товар

Немного измененный и доработанный вариант акции (20% на 3 товар, 30% на 4 товар). В данном случае немного изменен принцип применения акции. Если в предыдущем примере акция применялась буквально к Читать далее »

Различные наработки по Woocommerce

Различные наработки по Woocommerce

Очередной сборник различных наработок для плагина Woocommerce. Изменить вывод заголовка товара Выведем вместо заголовка краткий заголовок, созданный в виде дополнительного поля. Создание поля Выводы в каталоге и карточке товара. Если Читать далее »

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

Notice: Функция WP_Styles::add вызвана неправильно. Стиль с дескриптором "editor-buttons" был поставлен в очередь с незарегистрированными зависимостями: dashicons. Дополнительную информацию можно найти на странице «Отладка в WordPress». (Это сообщение было добавлено в версии 6.9.1.) in /home/t/tiberi6w/opttour.ru/public_html/wp-includes/functions.php on line 6260

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

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