Пользуюсь 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 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июль 22, 2017 г.
Плагин Contact Form 7 позволяет конструировать формы, создавая их шаблоны в специальном конструкторе. Это (+CSS) позволяет придать форме любой внешний ...
Читать
Июнь 11, 2018 г.
Еще одна задача, связанная с сохранением данных формы WP Contact Form 7 в базе WP, это загрузка и сохранение файла (обычно - изображения).
Особенность работы WPCF7, заключается в том, что загруженный через форму временный файл, плагин переносит ...
Читать
Июнь 3, 2018 г.
Отличный плагин WP Contact form 7 известен как многофункциональное решение для конструирования пользовательских форм в Wordpress. К сожалению, единственная ...
Читать
Июнь 9, 2018 г.
В продолжение статьи о сохранении данных формы в БД в виде публикации в WP, я собираюсь рассказать о том как получить код публикации, со страницы которой была выполнена отправка данных формы.
Находясь внутри обработчика wpcf7_mail_sent, вы не сможете ...
Читать