Flector

Как автоматически зашифровать все email в записях?

Зашифрованные 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 в движке не обрабатывают текст записей автоматом вместе с другими автоматическими функциями обработки и форматирования текста.


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!