/ Сайтостроение / Плагины / Письма Woocommerce

Письма Woocommerce

HIT

05.10.2017

2412

2

В плагине интернет-магазина Woocommerce есть система отправки писем. Письма отправляются администратору и клиенту при различных ситуациях:

Наименование письмаСуть письмаШаблоны WC
Заказ в обработкеКлиент сделал заказ на сайте. По-умолчанию письмо уходит и клиенту и администраторуcustomer-on-hold-order.php, admin-new-order.php

Редактируем шаблоны писем

Убрать блок Адрес оплаты. Необходимо вручную закомментировать billing_address в шаблоне email-addresses.php

<td style="width: 20px;">
<?php echo '<a class="minus" onClick="updateQty(\''.$cart_item_key.'\','.($cart_item['quantity']-1).')">–</a>'; ?>
</td>

<td class="product-quantity">
<?php echo apply_filters( 'woocommerce_checkout_cart_item_quantity', ' <strong class="product-quantity">' . sprintf( '&times; %s', $cart_item['quantity'] ) . '</strong>', $cart_item, $cart_item_key ); ?>
</td>

<td style="width: 20px;">
<a rel="nofollow" href="/?wc-ajax=add_to_cart&amp;add-to-cart=<?php echo $cart_item['product_id'];?>" data-quantity="1" data-product_id="<?php echo $cart_item['product_id'];?>" data-product_sku="" class="product_type_simple add_to_cart_button ajax_add_to_cart plus">+</a>
</td>

Отправка письма при статусе В ожидании оплаты

Стандартно woocommerce не отправляет уведомления при статусе заказа В ОЖИДАНИИ ОПЛАТЫ. Данный статус создается в момент создания заказа с формой оплаты электронными средствами, и сохраняется до момента получения средств и превращения в В ОБРАБОТКЕ, либо отменяется при непоступлении средств в течение некоторого времени (ОТМЕНЕН).

Задача: отправлять письмо администратору при появлении заказа со статусом В ОЖИДАНИИ ОПЛАТЫ.

Платный плагин Woocommerce Follow UP Emails решает данную задачу. Принцип работы — создание пользовательских шаблонов уведомлений. Настройка отправки уведомления:

1. Создаем шаблон пользовательского письма. Выбираем тип письма:

  • Storewide Email (Уведомления ассортимента)
  • Signup Email (Уведомления регистрации)
  • Manual Email (Ручные уведомления)
  • Customer Email (Клиентские уведомления)
  • Twitter Message

2. После выбора типа письма снизу загрузятся настройки для этого типа. В списке Trigger необходимо выбрать событие после которого должно отправляться письмо. В полях Sending Delay настраиваем время задержки отправки письма (по-умолчанию 1 минута).

Варианты событий для группы Клиентские уведомления

after last purchase (после последней покупки)
after order total is above (после завершения заказа № ____ (прописать № заказа))
after order total is below (после того, как сумма заказа ниже ____)
after customer purchased more than one time (после покупки клиента более одного раза)
after total orders by customer (после суммы одного заказа ____)
after total purchase amount by customer (после общей суммы всех покупок клиентом ____)

3. Само тело письма заполняем как необходимо. Можно добавить переменные, список возможных переменных при данном типе уведомления выводиться в блоке Variables (справа). Типовой шаблон уведомления:

Новый заказ!

Ожидается оплата заказа №{order_number} от {order_datetime}
Форм оплаты: {order_pay_method}

Заказ состоит из следующих позиций:
{item_prices_categories}

Сумма заказа {order_subtotal}

Данные о покупателе:
{customer_first_name}
{customer_email}
{order_billing_phone} 

{order_shipping_address}

4. Изменить статус уведомления на активный.

После этого, при наступлении события выбранного в шаге 2 будет отправлено письмо-уведомление. По-умолчанию письма отправляются на e-mail администратора сайта, если необходимо добавить дополнительные e-mail, это можно сделать во вкладке From/Reply-to (нижняя часть настроек уведомления)

Добавить в шаблоны писем миниатюру и SKU

// Edit order items table template defaults
function sww_add_wc_order_email_images( $table, $order ) {
  
	ob_start();
	
	$template = $plain_text ? 'emails/plain/email-order-items.php' : 'emails/email-order-items.php';
	wc_get_template( $template, array(
		'order'                 => $order,
		'items'                 => $order->get_items(),
		'show_download_links'   => $show_download_links,
		'show_sku'              => $show_sku,
		'show_purchase_note'    => $show_purchase_note,
		'show_image'            => true,
		'image_size'            => $image_size
	) );
   
	return ob_get_clean();
}
add_filter( 'woocommerce_email_order_items_table', 'sww_add_wc_order_email_images', 10, 2 );

Также можно настроить необходимый размер миниатюры

'image_size'    => array( 32, 32 )

Изменение дизайна письма

Базовые изменения вносят в самой панели WC. Если нужно изменить более детально необходимо править локальную версию файла woocommerce/emails/email-styles.php
либо прописывать хук:

add_filter( 'woocommerce_email_styles', 'patricks_woocommerce_email_styles' );
function patricks_woocommerce_email_styles( $css ) {
	$css .= "#template_header { background-color: #231f20; }";
	return $css;
}

Поделится информацией с друзьями

  • Комментарии
  • Вложения

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

2 комментария

  1. Torcedor

    Где переводится payment method для текста письма на удержании? 

    1. Alexandr
      Alexandr

      По идее все переводы WC хранятся в файлах woocommerce-ru_RU.mo и woocommerce-ru_RU.po, они находятся в папке wp-content/languages/plugins/ (если только переводы не локализованы в тему).

Письма Woocommerce
Contact Form 7
Рекомендации для васContact Form 7Opttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.