Добавляем строку в таблицу информации о заказе в письма

В одном из прошлых уроков мы уже рассмотрели с вами два фильтр-хука, позваоляющих добавить какой-то текст или HTML до и после таблицы информации о заказе в email’ах, в этом же уроке попробуем добавить что-то прямо непосредственно в таблицу.

Также хочу порекомендовать вам свой видеокурс по WooCommerce, в нём мы создаём тему для интернет-магазина с нуля, на основе готовой HTML вёрстки, вот ссылка.

Вот так:

Email клиенту в WooCommerce с дополнительной информацией, добавленной в заказ
В самом низу таблицы вы можете увидеть строку, которую я добавил. На скриншоте – email клиенту при оформлении заказа, но строка добавится также и в email администратору магазина.

Для того, чтобы сделать что-то подобное, мы будем использовать хук woocommerce_get_order_item_totals, код ниже вы можете попробовать добавить в functions.php вашей текущей темы.

add_filter( 'woocommerce_get_order_item_totals', 'truemisha_row_in_email', 25, 2 );
 
function truemisha_row_in_email( $rows, $order ) {
 
	if( is_order_received_page() ) {
		return $rows;
	}
 
	$rows[ 'misha_test' ] = array(
		'label' => 'Какая-то строка',
		'value' => 'Какое-то значение'
	);
 
	return $rows;
 
}

Теперь давайте разберёмся с этим кодом детальнее:

  • Как можно догадаться из названия фильтра woocommerce_get_order_item_totals, он не имеет непосредственного отношения к email’ам, и наша строка также добавится и на странице «Спасибо за заказ», поэтому я докинул условие с функцией is_order_received_page().
  • Внутри функции нам также доступен объект заказа $order, из которого мы можем получить массу полезностей, например банально ID заказа $order->get_id().

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.