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

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

HIT

06.04.2021

1346

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

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

Хуки для woocommerce

Здесь собраны наиболее востребованные хуки woocommerce, которые могут пригодится при настройке любого интернет-магазина. С другими полезными хуками можно ознакомиться здесь Необходимые части кода вставляем в файл functions (лучше использовать отдельный Читать далее »

/
Пользовательский метод доставки

Пользовательский метод доставки

Создадим пользовательский метод доставки для Woocommerce 3.0. Метод создадим в виде плагина. Создадим для пользовательского метода уведомление при превышении веса (лимит установлен на 0): т.е. если у нас будет в Читать далее »

Табы woocommerce

Табы woocommerce

В данной статье будут рассмотрены все моменты связанные с табами Woocommerce. Табы (вкладки) — это секции контента разделенного по смыслу. Редактируем стандартные табы WC Настраиваем порядок вкладок У меня почему Читать далее »

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

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 6170

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

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