Как автоматически зашифровать все email в записях?
Встроенную в WordPress функцию antispambot можно использовать не только для создания специального шорткода шифровки email адреса, но и для автоматической обработки всех найденных в тексте записей и виджетов email адресов. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
//шифровка всех email адресов в записях start function wph_find_emails($content) { $pattern = '/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})/i'; $fix = preg_replace_callback($pattern, "wph_antispambot", $content); return $fix; } function wph_antispambot($result) { return antispambot($result[1]); } add_filter('the_content', 'wph_find_emails', 20); add_filter('widget_text', 'wph_find_emails', 20); //шифровка всех email адресов в записях end |
Этот маленький сниппет зашифрует все email-адреса на сайте. Даже странно, что функцией antispambot в движке не обрабатывают текст записей автоматом вместе с другими автоматическими функциями обработки и форматирования текста.