从建站到现在,每天都被垃圾评论烦恼着,最近无奈抽出时间百度相关资料,现在整理出一些方法来对付 WordPress 主题垃圾评论的方法!有相同问题的 WordPress 主题主题
爱好者们可以尝试一下哈!

首先我们分析下 WordPress 主题垃圾评论主要有哪些形式存在着

20130611161136

一、很多链接,一看就知道是一些垃圾评论,里面出现了 http: 、 href 、等链接标签

于是,应对此操作的最有效方式就是禁止评论里带有 http: 、 href 等字眼的出现!

操作方法:到主题文件根目录下找到 functions.php 文件,打开文件 (编写代码请用代码软件编写,禁止用记事本,极易编码出错)

在文件最下面的 ?> 前面粘贴下面的代码

  1. function lianyue_comment_post( $incoming_comment ) {
  2. $http = ‘/
    [<|=|.|友|夜|KTV|ッ|の|ン|優|業|グ|貿|]/u’;
  3. if(preg_match($http, $incoming_comment[‘comment_content’])) {
  4. wp_die( “ 万恶的发贴机!” );
  5. }
  6. return( $incoming_comment );
  7. }
  8. add_filter(‘preprocess_comment’, ‘lianyue_comment_post’);

其中灰色代码位置就是屏蔽的字段,可以自定义自己要屏蔽的!本站也整理了一些相关的可以屏蔽的词

例如:

  1. |<|=|.|友|夜|KTV|ッ|の|ン|優|業|グ|貿|

这些词也经常在 WordPress 主题垃圾评论中出现,加入进上面的灰色位置里即可!


 

二、 WordPress 主题垃圾评论里有很多的英文,几乎全英文的

我们可以设置为评论内容里必须包含汉字,至少在国内这样的操作是合理的吧!

操作方法同样是打开 functions.php 文件,然后添加一下代码:

  1. function lianyue_comment_post( $incoming_comment ) {
  2. $pattern = ‘/[一-龥]/u’;
  3. //  禁止全英文评论
  4. if(!preg_match($pattern, $incoming_comment[‘comment_content’])) {
  5. wp_die( “ 您的评论中必须包含汉字,否则将被视为发贴机!” );
  6. }
  7. return( $incoming_comment );
  8. }
  9. add_filter(‘preprocess_comment’, ‘lianyue_comment_post’);

上面的代码的意思就是说,评论内必须包含汉字,否则评论将不通过!

 


 

目前从这两点可以从根本上遏制垃圾评论的出现,上面两个手段都想用的朋友可以使用下面的代码,我做了下整合处理,效果就是必须包含中文字符和不准包含指定字符的代码!

  1. /*  评论必须有中文和禁止某些字段出现 */
  2. function lianyue_comment_post( $incoming_comment ) {
  3. $pattern = ‘/[一-龥]/u’;
  4. $http = ‘/[<|=|.|友|夜|KTV|ッ|の|ン|優|業|グ|貿|]/u’;
  5. //  禁止全英文评论
  6. if(!preg_match($pattern, $incoming_comment[‘comment_content’])) {
  7. wp_die( “ 您的评论中必须包含汉字,否则将被视为发贴机!” );
  8. }elseif(preg_match($http, $incoming_comment[‘comment_content’])) {
  9. wp_die( “ 万恶的发贴机,这里不允许放链接,如需交换链接请联系站长!” );
  10. }
  11. return( $incoming_comment );
  12. }
  13. add_filter(‘preprocess_comment’, ‘lianyue_comment_post’);

这样的措施是为了避免垃圾评论里又有中文,又有链接的存在,所谓限制的更全面,有些朋友会说,那那些换友链的怎么办? 我只能说,鱼与熊掌不能兼得,至少目前以换友情链接为目地的垃圾评论也很多,他们根本就没想和你换,仅仅是一个外链的存在着!


 

考虑到有些 WordPress 主题主题使用了 ajax 评论,提示错误时可能会出现布局混乱,解决办法:

打开 comments-ajax.php 找到最后个 err( __(并

在下一行增加:

  1. $pattern = ‘/[一-龥]/u’;
  2. if (!preg_match($pattern,$comment_content) )
  3. err( __(‘ 您的评论中必须包含汉字,否则将被视为发贴机!’) );
  1. $http = ‘/[<|=|.|友|夜|KTV|ッ|の|ン|優|業|グ|貿|]/u’;
  2. if (preg_match($http,$comment_content) )
  3. err( __(‘ 万恶的发贴机,这里不允许放链接,如需交换链接请联系站长!’) );

 

每个 WordPress 主题主题的 ajax 评论都不一样,请参阅后自行修改!

 

以上是通过代码,十分简易的实现了防止 WordPress 主题垃圾评论的措施,当然也有很多的插件可以完成,最简单的插件就是多说插件,又美观评论又可以抵挡 WordPress 主题垃圾评论,各位看管,自行选择哈!!