Как добавить фото товара в электронную почту WooCommerce

Взломали сайт — почему и что делать
11.06.2019
Техническое задание на разработку сайта фитнес-клуба
26.08.2019

Оригинал статьи https://jilt.com/blog/how-to-add-information-to-woocommerce-emails/

Электронное письмо WooCommerce включают в себя таблицу: товар, количество и цена.

Таблица заказа в электронной почте

Однако это не единственные данные, которые WooCommerce может показать в таблице заказа в своих электронных письмах. Есть на самом деле другие данные, но они “выключены” по умолчанию. WooCommerce может включать информацию, такую как SKU и изображение продукта.

Нам нужно будет использовать фильтр woocommerce_email_order_items_table.

Этот фильтр передает все значения по умолчанию для таблицы элементы заказа по электронной почте. SKUs, заметки о покупке, изображения и ссылки для загрузки по умолчанию «выключены». WooCommerce условно обрабатывает включение некоторых из них на себя, например, ссылки для загрузки, когда должен быть предоставлен доступ для загрузки, но SKUs и изображения должны быть включены вручную.

Включим изображения продуктов в нашем шаблоне элементов заказа по электронной почте. Для этого изменим значение show_image на «true» с помощью этого фрагмента (добавить в functions.php):

// 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 );

Теперь в письме появилось фото товара.

Фото товара в таблице email

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

Чтобы это исправить, добавим перенос строки после изображения товара. Добавим код:

function sww_edit_order_item_thumbnail( $name ) {
return $name . '
';
}
add_filter( 'woocommerce_order_item_thumbnail', 'sww_edit_order_item_thumbnail' );
Теперь красиво:

Фото и наименование на разных строках

Помогла статья? Отблагодари лайком 🙂
Начать проект