[WordPress教程]WordPress评论中禁止链接或者必须包含中文才可留言

经常有些二愣子拿了资源,然后乱评论,例如aaa.bbb.cccc之类的
所以感觉设置下禁止英语的非常不错,也能禁止垃圾评论

以下代码不允许评论中< 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');  

也可以设置成必须包含中文才可留言:
$pattern = ‘/[一-龥]/u’;是个正则表达式,用于表示所有中文字符

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');  

另外主题如果使用了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( __('万恶的发贴机!') );  


  • 发表评论