有时候想在博客中向用户留言告诉他们读者的 email 地址,让用户直接通过 email 地址联系,但是这样简单展示 email 地址被机器收集,然后收到一大堆 spam。
让邮件地址不被机器收集
WordPress 默认有 antispambot 函数,它可以将 email 地址转换成机器无法识别而浏览器能够正确显示的邮件地址,所以我们可以在主题的 functions.php 文件中添加如下的代码:
代码语言:javascript复制add_shortcode( 'email', 'wpjam_email_shortcode_handler' );
function wpjam_email_shortcode_handler( $atts, $content='' ) {
extract( shortcode_atts( array(
'mailto' => '0'
), $atts ) );
return antispambot( $content, $mailto );
}
Antispambot ShortCode 使用
Antispambot ShortCode 这个插件使用非常简单,上传激活之后,如果只是简单展示邮件地址,只需要在日志内容输入以下内容:
[email]you-email-address@email.com[/email]
显示效果:you-email-address@email.com
查看源代码,你会发现 email 地址 HTML 源代码已经是:
you-email-address@ email.com
,
这样的代码,机器人是很难收集的,但是普通用户则可以直接阅读,不受影响。
如果你想把 email 地址显示为连接,可以加上 link 参数,如:
[email link="1"]you-email-address@email.com[/email]
显示结果为:you-email-address@email.com
自动隐藏邮件地址
当然,如果你不想使用 shortcode,而想直接在日志中输入的邮件地址也能防止被机器收集,可以参考:自动隐藏邮件地址防止垃圾邮件里面提供的代码。