В плагине интернет-магазина 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( '× %s', $cart_item['quantity'] ) . '</strong>', $cart_item, $cart_item_key ); ?> </td> <td style="width: 20px;"> <a rel="nofollow" href="/?wc-ajax=add_to_cart&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; }
Где переводится payment method для текста письма на удержании?
По идее все переводы WC хранятся в файлах woocommerce-ru_RU.mo и woocommerce-ru_RU.po, они находятся в папке wp-content/languages/plugins/ (если только переводы не локализованы в тему).