Intereting Posts
Проверьте, имеет ли текущий пользователь сообщение в типе сообщения и является ли авторская роль Как изменить img src в домашней теме, используя WordPress` live customizer? Показать последние сообщения x из всех категорий в Custom Post Type / Taxonomy Вертикальное выравнивание CSS толкает колонку влево Ежегодная архивная страница? Как удалить все восстановленные миниатюры, но сохранить исходные? Шорткод не будет выполняться Почему администратор ajax перезагружает мою страницу Где я могу найти пользовательские атрибуты меню в базе данных? Как определить, есть ли следующая страница Как искать сообщения, заданные post_content AND post_excerpt, используя WP_Query? Имя папки и название категории WordPress Как я могу проверить идентификатор пользователя facebook, который он предоставляет во время процесса регистрации Хаос в скрипте WordPress Enqueue (jQuery & Foundation.js) Получить информацию о пользователе за пределами WordPress

Крючок для изменения содержимого всех писем 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');