WordPress 限制文章评论的内容

发布于 2018-08-03 19:24:28 字数 2061 浏览 1683 评论 0

垃圾评论往往具有某些特征,比如做外贸的网站往往都是采用 WordPress 站点做的,想在 google 获得好的排名,垃圾评论是个不错的选择,但是只是短时间的,这些评论基本都是英文的,还有 WordPress 是自带一个黑名单的,可是如果含有这些内容,只是将评论标记为垃圾评论,不让他提交到数据库才是王道。

必须包含中文

// 必须输入中文
if(!preg_match("/[\x{4e00}-\x{9fa5}]+/u",$comment_content)){
    wp_die("请说中国话!");
}

是否在黑名单

// 是否在黑名单
if( wp_blacklist_check($comment_author,$comment_author_email,$comment_author_url, $comment_content, $comment_author_IP, $comment_agent )){
    wp_die("您已被禁止评论!");
}

必须登录才能评论

// 是否登录
if(!is_user_logged_in()){
  wp_die("您必须登录之后才能评论!");
}

过滤 HTML 标签

// 过滤HTML标签
$comment_content = strip_tags($comment_content);

综合以上 4 点

add_action('preprocess_comment','yundanran_preprocess_comment');
function yundanran_preprocess_comment($commentdata){
    $comment_post_ID = $commentdata["comment_post_ID"];
    $comment_content = $commentdata["comment_content"];
    $comment_author = $commentdata["comment_author"];
    $comment_author_email = $commentdata["comment_author_email"];
    $comment_author_url = $commentdata["comment_author_url"];
    $comment_author_IP = $commentdata["comment_author_IP"];
    $comment_agent = $commentdata["comment_agent"];
    // 验证合法
    $nonce = wp_create_nonce($comment_post_ID);
    if(!isset($_POST["comment_nonce"]) || $_POST["comment_nonce"] !== $nonce){
        wp_die("请勿恶意评论!");
    }
    // 必须输入中文
    if(!preg_match("/[\x{4e00}-\x{9fa5}]+/u",$comment_content)){
        wp_die("请说中国话!");
    }
    // 是否在黑名单
    if( wp_blacklist_check($comment_author,$comment_author_email,$comment_author_url, $comment_content, $comment_author_IP, $comment_agent )){
        wp_die("您已被禁止评论!");
    }
    // 是否登录
    if(!is_user_logged_in()){
        wp_die("您必须登录之后才能评论!");
    }
    // 过滤HTML标签
    $comment_content=strip_tags($comment_content);
    return $commentdata;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

4401 文章
128 评论
84972 人气
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。