С помощью шорткода
//шорткод шифровки email start
function hemail_function($atts,$content = null) {
if (!is_email($content)) {
return;
}
return '<a href="mailto:' . antispambot( $content ) . '">' .
antispambot($content) . '</a>';
}
add_shortcode('email', 'hemail_function');
//шорткод шифровки email end[email]email@gmail.com[/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