Intereting Posts
Пользовательские правила перезаписи типа сообщений не работают, как изменить порядок перезаписи? Почему в раскрывающемся меню шаблона страницы используется неправильное имя файла? WP_Query для работы с пользовательским представлением WordPress – ваша тема имеет 1 область виджета, но эта конкретная страница не отображает ее Создание меню, содержащего категории и авторов Страница пользовательского обслуживания Неожиданное поведение esc_html и esc_attr комментарии перехватывает пользовательский тип сообщения Есть ли способ получить данные привязки? Функция переопределения в классе в дочерней теме Изменить URL выхода администратора Отключить фиды для определенных пользовательских типов сообщений Как создать параметры пользовательского фильтра в wp_list_table? Создание встроенных страниц без создания фактических страниц Вложенная разбивка на страницы

Крючок для изменения содержимого всех писем wp

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

wp_mail( $recipient, $subject, $body, $headers, $attachments ); 

это почтовый код, и я заменил его на

 ob_start(); require_once (get_template_directory() . '/mail-templates/contacemail.php'); $html2 = ob_get_contents(); ob_end_clean(); return wp_mail( $recipient, $subject, $html2, $headers, $attachments ); 

теперь для этой почты настроен шаблон электронной почты. [здесь, в contacemail.php echo $ body; получить содержание тела]

Теперь мне нужно сделать все мои письма, а не редактировать этот код для отдельных писем. Как это сделать? Есть ли крючок или фильтр? пожалуйста помоги.

Solutions Collecting From Web of "Крючок для изменения содержимого всех писем wp"

Да, для этого есть фильтр.

Правильный фильтр – wp_mail и определяется в /wp-includes/pluggable.php. Строка 135

Таким образом, код (возможно, в вашем functions.php) должен выглядеть примерно так:

 function mail_template($args){ ob_start(); require_once (get_template_directory() . '/mail-templates/contacemail.php'); $args['message'] = ob_get_contents(); ob_end_clean(); return $args; } add_filter('wp_mail', 'mail_template');