wpcf7 динамическое содержимое тега электронной почты

Описание:

  • Контактная форма WordPress 7;
  • Рассылка по smtp;
  • Настройки формы: "использовать html-формат" + "mail2 использовать html-формат" проверено;
  • Настройки формы: Тело письма: только один почтовый тег [вычисляемый-шаблон];
  • Решена проблема с тегом абзаца (все почтовые теги при получении отображаются внутри html-тега "p");

[вычисляемый-шаблон] - это почтовый тег, динамически заполняемый html на основе отправленных объектов, обрабатываемых VueJS2 во внешнем интерфейсе;

[Calculated-template] заполняется путем подключения к действию 'wpcf7_posted_data':

add_action('wpcf7_posted_data', array('vue_handler','handle'), 1, 1);

vue_handler :: handle ($ data) получает массив $ data с некоторыми данными wpcf7, которые можно изменять. Содержимое массива $ data:

_wpcf7 = "1166"
_wpcf7_version = "4.9.2"
_wpcf7_locale = "ru_RU"
_wpcf7_unit_tag = "wpcf7-f1166-p1167-o1"
_wpcf7_container_post = "1167"
columns-stringified = ""
fences-stringified = ""
your-name = "name"
your-email = "[email protected]"
calculated-template = ""

Затем vue_handler :: handle ($ data) вставляет html в тег электронной почты [рассчитанный-шаблон].

Проблема: наконец, HTML-содержимое [вычисляемый-шаблон] отображено с экранированием (Mailtrap.io, вкладка "Источник HTML"):

<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title</title>
</head>
<body>
&lt;h1&gt;Example Header&lt;/h1&gt;
</body>
</html>

Основная идея сниппета: открывающие и закрывающие html-теги символы "‹ ","> "отображаются с экранированием:" ‹", "› ​​";


person Dmitry Rasko    schedule 09.03.2018    source источник


Ответы (1)


РЕШЕНО

Используя другой перехватчик wpcf7_before_send_mail

В котором я полностью заменил тело письма своим динамическим HTML.

Список всех хуков: http://hookr.io/plugins/contact-form-7/4.5.1/hooks/#index=a

person Dmitry Rasko    schedule 09.03.2018