Артём Мáлков

Как добавить примечание к заказу в почтовые уведомления WooCommerce?

15 июн0 комм

По умолчанию в CMS WordPress, а именно в его дополнении WooCommerce отсутствует возможность отправки примечания к заказу в почтовых уведомлениях. С одной стороны, это правильное решение, так как примечание заполняется не всегда, и для особо важной информации есть специально отведенные поля в форме оформления заказа (информация о клиенте, платежная информация и способы доставки и прочее), с другой стороны – это поле, которое дает свободу вашему клиенту, ведь если он не нашел необходимого поля, у него появился вопрос или важное уточнение/замечание, то все это он может написать как раз в этом поле.

Поскольку заказы из почтовых уведомлений (по моему личному опыту) многие магазины распечатывают для дальнейшей обработки, отсутствие необходимой и не менее важной информации в них может повлечь за собой появление недовольных клиентов, чьи интересы не были учтены.

Чтобы исправить эту ситуацию, сделаем следующее.

1. Подключитесь к вашему сайту по FTP.

2. Откройте файл functions.php, который находится в папке вашей темы.

3. В самый его низ вставьте функцию:

function customer_note_email_notifications($order, $sent_to_admin, $plain_text, $email) {
	
	$type_email = array("new_order", "customer_on_hold_order", "customer_processing_order");
	
	if(in_array($email->id, $type_email)) {

		$customer_note = $order->get_customer_note();

		if($customer_note == "") {

			$customer_note = "Отсутствует";
			
		}

		echo <<<HTML
			
			<h2>Примечание к заказу</h2>
			
			<div style="margin-bottom: 40px;">
				
				<table cellspacing="0" cellpadding="0" style="width: 100%; color: #636363; border: 2px solid #e5e5e5;" border="0">
					<tr>
						<td>
							<p>{$customer_note}</p>
						</td>
					</tr>
				</table>
				
			</div>
			
HTML;

	}

}

add_action("woocommerce_email_after_order_table", "customer_note_email_notifications", 10, 4);

Сохраните изменения и отправьте файл обратно на сайт. Установка закончена.

Необходимый вам блок (примечание к заказу) появится выше платежного адреса в новых почтовых уведомлениях.

Настройка функции

Если вы внимательно смотрели код, то в третьей его строке могли заметить переменную $type_email, содержащую в себе три типа e-mail уведомлений в виде массива (новый заказ, заказ на удержании и заказ в обработке), на которые будут распространяться описанная ранее функция.

Полный перечень стандартных типов e-mail уведомлений, относящихся к заказам, такой:

  1. Новый заказ – new_order
  2. Отменённый заказ – cancelled_order
  3. Неудавшийся заказ – failed_order
  4. Заказ на удержании – customer_on_hold_order
  5. Заказ в обработке – customer_processing_order
  6. Выполненный заказ – customer_completed_order
  7. Возвращённый заказ – customer_refunded_order

По необходимости дописываете или полностью изменяете содержимое переменной $type_email в коде на основе этого перечня, не меняя при этом ее типа.

Рекомендуем к просмотру
Выводим комментарий к заказу в почтовом уведомлении для пользователя в OpenCart
Хаки
Выводим TV-поле ресурса только в том случае, если оно заполнено в MODX Revo
Статьи и советы
Как запретить изменение размеров textarea на CSS/jQuery?
Статьи и советы
0
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Подняться наверх
«Pandoge» - помощник вебмастера