WordPress评论中禁止或必须包含指定内容

本文目录[隐藏]1评论中禁止包含指定内容2评论中必须包含指定内容3评论中禁止或必须包含指定内容4修复ajax评论使用本代码出现的错位

在《WordPress 如何有效拦截和过滤垃圾评论》已经分享了多种垃圾评论拦截方法,这篇文章是对那篇文章的方法的进阶。

评论中禁止包含指定内容

以下代码禁止许评论中包含 <a 随便 href=" 或者rel="nofollow"或者http:// ,你也可以根据自己的需要修改:

1
2
3
4
5
6
7
8
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 ) {
$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’);

评论中必须包含指定内容

比如下面的代码就是评论必须包含中文字符,你可以修改为自己指定的字符:

1
2
3
4
5
6
7
8
9
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’;
// 禁止全英文评论
if(!preg_match($pattern, $incoming_comment[‘comment_content’])) {
wp_die( "您的评论中必须包含汉字!" );
}
return( $incoming_comment );
}
add_filter(‘preprocess_comment’, ‘lianyue_comment_post’);

评论中禁止或必须包含指定内容

这是上面两种方法的综合,评论必须包含中文字符,且禁止包含 <a 随便 href=" 或者rel="nofollow"或者http://

1
2
3
4
5
6
7
8
9
10
11
12
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');

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评论使用本代码出现的错位

如果你的主题使用ajax评论,使用上面的代码后,可能在提示错误信息的时候,网站会错位,你可以打开 comments-ajax.php ,找到最后个err( __(并且跳过该行,在下一行增加:

这是禁止包含的内容

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

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

这是必须包含中文的

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

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

原文:http://www.lianyue.org/2011/2107/

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、Python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、OS X、Android、iOS、WP8等系统的开关机。

通过下面的方式来联系我们:

电邮:138762189@qq.com

联系QQ:点击这里给我发消息

官方站:www.tadke.com

※ ※ 联系请加我的企鹅号 ※※

※ ※技术支持请微信联系站长 ※※

Copyright © 2023 Tadke.com. 琼ICP备20000547号