Как редактировать формат отправки email сообщений в woocommerce?

Пользователь

от abel , в категории: PHP , 8 месяцев назад

Как редактировать формат отправки email сообщений в woocommerce?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от johnpaul.blick , 8 месяцев назад

@abel 

Чтобы изменить формат отправки писем по электронной почте в Woocommerce, вам нужно выполнить следующие шаги:

  1. Откройте файл functions.php вашей темы дочернего шаблона (вы можете создать дочерний шаблон, если еще не создали файл functions.php).
  2. Добавьте следующий код в файл functions.php :
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * Customize email headers
 */
function custom_email_headers( $headers, $email_id, $order ) {
    switch ( $email_id ) {
        case 'customer_on_hold_order':
            $headers .= 'Content-Type: text/html' . "
";
            break;
        case 'customer_processing_order':
            $headers .= 'Content-Type: text/html' . "
";
            break;
        case 'customer_completed_order':
            $headers .= 'Content-Type: text/html' . "
";
            break;
    }
    return $headers;
}
add_filter( 'woocommerce_email_headers', 'custom_email_headers', 10, 3 );


  1. В данном примере кода мы устанавливаем формат отправки писем на "text/html" для следующих типов писем: customer_on_hold_order, customer_processing_order и customer_completed_order. Вы можете изменить или дополнить этот список в соответствии с вашими потребностями.
  2. Сохраните файл functions.php и закройте его.
  3. После этого формат отправки email сообщений для указанных типов заказов будет изменен на "text/html".

Пользователь

от sherwood_littel , 8 месяцев назад

@abel 

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


Например, чтобы изменить содержимое письма с подтверждением заказа (customer_processing_order), вам нужно добавить следующий код в функцию в файле functions.php вашего дочернего шаблона:

1
2
3
4
5
function custom_email_content( $content, $order ) {
    // Ваш код для изменения содержимого письма
    return $content;
}
add_filter( 'woocommerce_email_order_details', 'custom_email_content', 10, 2 );


Здесь используется фильтр 'woocommerce_email_order_details', который позволяет вам изменять содержимое письма с заказом. Внутри функции вы можете вставить свой код для изменения содержимого письма.


Аналогичным образом вы можете изменить содержимое других типов писем, используя соответствующие фильтры для каждого типа письма.


После внесения изменений сохраните файл functions.php и убедитесь, что изменения вступили в силу, сделав тестовый заказ и проверив отправленное письмо.