WordPress评论中过滤或必须包含指定内容的方法(屏蔽垃圾评论)

  • A+
所属分类:WordPress

以下代码,都是放到当前主题的 functions.php 里即可.

WordPress评论中过滤或必须包含指定内容的方法(屏蔽垃圾评论)

 

一、

以下代码为不允许评论中出现<a *** href=" 或者rel="nofollow"或者http://这三种情况的超链接:

  1. function lianyue_comment_post( $incoming_comment ) {
  2. $http = '/[href="|rel="nofollow"|http:\/\/|<\/a>]/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. 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. function lianyue_comment_post( $incoming_comment ) {
  2. $pattern = '/[一-龥]/u';
  3. $http = '/[href="|rel="nofollow"|http:\/\/|<\/a>]/u'; 
  4. // 禁止全英文评论 
  5. if(!preg_match($pattern, $incoming_comment['comment_content'])) { 
  6. wp_die( "您的评论中必须包含汉字!" ); 
  7. }elseif(preg_match($http, $incoming_comment['comment_content'])) { 
  8. wp_die( "万恶的发贴机!" );
  9. }
  10. return$incoming_comment );
  11. }
  12. add_filter('preprocess_comment', 'lianyue_comment_post');

四、

对于知更鸟Ality主题来说就是:

  1. if ( is_user_logged_in() ) {
  2. else {
  3. function refused_spam_comments( $comment_data ) {
  4.     $pattern = '/[一-龥]/u';
  5.     $http = '/[href="|rel="nofollow"|http:\/\/|<\/a>]/u';
  6.     if(!preg_match($pattern,$comment_data['comment_content'])) {
  7.         err('评论必须含中文!');
  8.     }elseif(preg_match($http,$comment_data['comment_content'])) {
  9.         err('评论禁止添加链接!');
  10.     }
  11.     return$comment_data );
  12. }
  13. add_filter('preprocess_comment','refused_spam_comments');
  14. }

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: