Как зашифровать email в тексте записей?

С помощью шорткода

//шорткод шифровки 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