wordpress 使用WordPress建站,文章被评论,如何让评论包含指定内容,或者禁止指定内容呢?接下来就带大家来实现这个功能。 这篇文章《WordPress拦截没有中文留言评论,非插件实现》的进阶 以下代码不允许评论中<a 随便 href=” 或者rel=”nofollowR…
使用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( __('万恶的发贴机!') );
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)