来源: 互联网 日期: 2020-07-16 17:08:44
垃圾评论一直都是广大wordpress博主非常头疼的问题,虽然Akismet插件可以有效的帮助博主们低于垃圾评论的侵蚀,但是长久的使用Akismet插件会在数据库生成许多无用的表严重影响网站的运行效率。
而且申请Akismet插件的页面也时不时的被墙,新博客想用Akismet插件还挺难。今天就整理了一些防止wordpress垃圾评论的方法。
1、删除评论链接框字段(URL)。发垃圾评论无非就是为了那么点外链,如果去除掉评论中的链接框的确可以阻挡住一些人为发送的垃圾评论。
function remove_comment_fields($fields) { unset($fields['url']); return $fields; } add_filter('comment_form_default_fields','remove_comment_fields');
将以上代码加入到functions.php文件即可。
2、为评论内容中的外链添加Nofollow属性。
add_filter('comment_text', 'auto_nofollow'); function auto_nofollow($content) { return preg_replace_callback('/<a>]+/', 'auto_nofollow_callback', $content); } function auto_nofollow_callback($matches) { $link = $matches[0]; $site_link = get_bloginfo('url'); if (strpos($link, 'rel') === false) { $link = preg_replace("%(href=S(?!$site_link))%i", 'rel="nofollow" $1', $link); } elseif (preg_match("%href=S(?!$site_link)%i", $link)) { $link = preg_replace('/rel=S(?!nofollow)S*/i', 'rel="nofollow"', $link); } return $link; }
将以上代码加入到functions.php文件之后评论内容中的所有外链都会加上Nofollow属性,不过你想移除掉wordpress评论内容中的锚文本功能可以直接使用以下代码:
remove_filter('comment_text', 'make_clickable', 9);
(抓润网帝国模板 www.zhuarun.com)