При встановленні WooCommerce ти отримуєш додатково готовий функціонал для надсилання електронних листів. І якщо тобі треба додати якусь одну умову для надсилання листа (наприклад, коли на сайті була створена користувацька сторінка чи заповнене якесь опитування), то писати для цього спеціальний шаблон – трішки марудна справа. А надсилати звичайний текстовий лист – занадто банально, ми ж не в середньовіччі 😂

Ось тут прийде на допомогу одна дуже легка функція. Традиційно прописуємо її в будь-якому доступному для WordPress місці, найкраще – у файлі functions.php твоєї теми:

function send_email_woocommerce_style($email, $subject, $heading, $message)
{
    define("HTML_EMAIL_HEADERS", array('Content-Type: text/html; charset=UTF-8'));
    $mailer = WC()->mailer();
    $wrapped_message = $mailer->wrap_message($heading, $message);
    $wc_email = new WC_Email;
    $html_message = $wc_email->style_inline($wrapped_message);
    $mailer->send($email, $subject, $html_message, HTML_EMAIL_HEADERS);
}

Тепер у будь-якому місці WordPress, де раніше ти б використовував/ла щось типу:

mail($to, $subject, $message, $headers);

використовуєш власну функцію send_email_woocommerce_style:

send_email_woocommerce_style($to, $subject, $heading, $message);

Зверни увагу – аргументи функції відрізняються від вбудованої в PHP mail:

  • $to – email отримувача
  • $subject – тема листа
  • $heading – заголовок у тілі листа (традиційно на якомусь фоні, типу шапка листа)
  • $message – html-текст повідомлення

Ти ж погоджуєшся, що отримувати отакі листи цікавіше, ніж звичайні текстові? 😉

Шаблони Email