WordPress评论中禁止或者必须包含指定内容 – WordPress 教程

2022年 10月 24日 发表评论
腾讯云正在大促:点击直达 阿里云超级红包:点击领取
免费/便宜/高性价比服务器汇总入口(已更新):点击这里了解

WordPress评论中禁止或者必须包含指定内容 – WordPress 教程
wordpress

使用WordPress建站,文章被评论,如何让评论包含指定内容,或者禁止指定内容呢?接下来就带大家来实现这个功能。

这篇文章《WordPress拦截没有中文留言评论,非插件实现》的进阶

以下代码不允许评论中<a 随便 href=” 或者rel=”nofollow”或者http://

function lianyue_comment_post( $incoming_comment ) {  $http = '/[href="|rel="nofollow"|http://|</a>]/u'; if(preg_match($http, $incoming_comment['comment_content'])) { wp_die( "万恶的发贴机!" );  }  return( $incoming_comment );  }  add_filter('preprocess_comment', 'lianyue_comment_post');  

你也可以换成自己的代码也可以添加其他的代码

也可以设置成必须包含指定字符如下面:

function lianyue_comment_post( $incoming_comment ) {  $pattern = '/[一-龥]/u';  // 禁止全英文评论  if(!preg_match($pattern, $incoming_comment['comment_content'])) {  wp_die( "您的评论中必须包含汉字!" );  }  return( $incoming_comment );  }  add_filter('preprocess_comment', 'lianyue_comment_post');  

以上面的是必须包含中文字符也可以改成自己的字符

两个一起的代码必须包含中文字符和不准包含指定字符的代码

function lianyue_comment_post( $incoming_comment ) {  $pattern = '/[一-龥]/u';  $http = '/[href="|rel="nofollow"|http://|</a>]/u'; // 禁止全英文评论 if(!preg_match($pattern, $incoming_comment['comment_content'])) { wp_die( "您的评论中必须包含汉字!" ); }elseif(preg_match($http, $incoming_comment['comment_content'])) { wp_die( "万恶的发贴机!" );  }  return( $incoming_comment );  }  add_filter('preprocess_comment', 'lianyue_comment_post');  

另外主题如果使用了ajax评论,提示错误时可能会出现布局混乱,解决办法:

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

在下一行增加:

这是必须包含中文的

$pattern = '/[一-龥]/u';  if (!preg_match($pattern,$comment_content) )  err( __('您的评论中必须包含汉字!') );  

这是禁止包含的内容

$http = '/[href="|rel="nofollow"|http://|</a>]/u';  if (preg_match($http,$comment_content) )  err( __('万恶的发贴机!') );  

发表评论

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