推广 热搜: 后台  帝国cms  DESTOON  位置  网站  帝国cms建站  Wordpress教程  MAC系统  内容  destoon模板 

WordPress防止网站内容中的 Email 地址被收集的方法

   日期:2019-04-20     浏览:168    违规举报
 

有时候想在博客中向用户留言告诉他们读者的 email 地址,让用户直接通过 email 地址联系,但是这样简单展示 email 地址被机器收集,然后收到一大堆 spam。

防止Email被机器收集

WordPress 默认有antispambot函数,它可以将 email 地址转换成机器无法识别而浏览器能够正确显示的邮件地址,所以我们可以在主题的 functions.php 文件中添加如下的代码:

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

插件下载:Antispambot ShortCode

自动隐藏邮件地址

当然,如果你不想使用 shortcode,而想直接在日志中输入的邮件地址也能防止被机器收集,可以使用提供的代码自动隐藏邮件地址防止垃圾邮件。

下面的代码通过正则提取内容中的邮件地址,然后使用 WordPress 的antispambot函数隐藏 email 地址,同样将代码复制到当前主题的functions.php文件中即可。

add_filter( 'the_content', 'wpjam_hide_emails', 99 );add_filter( 'widget_text', 'wpjam_hide_emails', 99 );function wpjam_hide_emails($content) {$pattern = '/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})/i';return preg_replace_callback($pattern, "wpjam_hide_emails_callback", $content);}function wpjam_hide_emails_callback($match) {return antispambot($match[1]);}

原文链接:http://blog.wpjam.com/m/antispambot-shortcode/

免责声明:
1、本站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
2、本站部分作品内容是由网友自主投稿和发布、编辑整理上传,对此类内容本站仅提供交流平台,不为其版权负责,更不为其观点承担任何责任。
3、因行业及专业性有限,故未能核验会员发布内容的真实性及有效性,不为其负责,如有虚假或违规内容敬请准备材料图片发邮件到info@n360.cn举报,本站核实后积极配合删除。
4、如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时处理或删除。
 
打赏
 
更多>同类网站技术
0相关评论

推荐图文
推荐网站技术
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  免责声明  |  版权隐私  |  信息发布规则  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2020081222号
Powered By DESTOON