Пользуюсь flamingo для протоколирования отправленных данных через Contact Form 7. Очень не удобно, что ссылки и сохраненные файлы выводятся как plain text. Но, мы это сейчас исправим!
Поля flamingo выводит через функцию форматирования, которая вызывает фильтрацию по токену flamingo_htmlize. Вот туда то мы и вклиним наш код.
Требуется обернуть текстовые ссылки в их html код.
|
add_filter('flamingo_htmlize', function($text, $val) { if (strpos($text, '</a>') !== false) return $text; return preg_replace_callback('/(http[s]?\:\/\/[^\s<]{4,})\s{0,}/ims', function($m) { return '<a href="' . $m[1]. '" target="_blank">' . $m[1] . '</a>'; }, $text); }, 1, 2); |
Используем не сложную регулярку для замены. Важный нюанс заключается в том, что фильтр вызывается как минимум дважды — сначала для каждого атомарного значения поля, если их несколько, а потом для всего поля в целом.
Потому я проверяю, нет ли уже ссылок в строке $text.
wpcf7
Данная запись опубликована в 12.04.2023 15:14 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июль 21, 2017 г.
Вступившие в силу поправки (с 01.07.2017) федерального закона ФЗ 152 "О защите персональных данных" требуют, чтобы владельцы сайтов информировали пользователя ...
Читать
Апрель 1, 2023 г.
Неудобно, что прямо в редакторе нельзя задать нужные атрибуты, приходится искать либо в коде, чтобы подсмотреть как это реализовано, или на форумах.
Нужно было создать элементы формы с атрибутом placeholder.
Оказалось, что wpcf7 понимает следующую ...
Читать
Июнь 3, 2018 г.
Отличный плагин WP Contact form 7 известен как многофункциональное решение для конструирования пользовательских форм в Wordpress. К сожалению, единственная ...
Читать
Июнь 9, 2018 г.
В продолжение статьи о сохранении данных формы в БД в виде публикации в WP, я собираюсь рассказать о том как получить код публикации, со страницы которой была выполнена отправка данных формы.
Находясь внутри обработчика wpcf7_mail_sent, вы не сможете ...
Читать