对于wordpress垃圾评论相信很多博主都深恶痛绝,博客吧也感同身受,并通过各种方法最大可能性地防止垃圾评论,包括安装Akismet插件、关闭Trackbacks、添加算术验证码以及禁止纯英文评论、包含日文的评论,因为大部分垃圾评论都是纯英文或日文的。前面分享过禁止纯英文评论的插件Some Chinese Please,现在分享不安装插件禁止英文评论的代码。
在当前主题的functions.php文件的第一行<?php下面,添加以下代码:
- //屏蔽纯英文评论和纯日文
- function refused_english_comments($incoming_comment) {
- $pattern = '/[一-龥]/u';
- // 禁止全英文评论
- if(!preg_match($pattern, $incoming_comment['comment_content'])) {
- wp_die( "您的评论中必须包含汉字!" );
- }
- $pattern = '/[あ-んア-ン]/u';
- // 禁止日文评论
- if(preg_match($pattern, $incoming_comment['comment_content'])) {
- wp_die( "评论禁止包含日文!" );
- }
- return( $incoming_comment );
- }
- add_filter('preprocess_comment', 'refused_english_comments');
代码作用:评论提交时,通过正则表达式匹配评论内容,如果评论是纯英文或者包含了日文,则跳转到提示页面。添加完毕之后保存即可!如果不禁止包含日文的评论,就把上面代码的第8至12行删除。
THE END
评论