• Wordpress 去除重复评论限制


    简介:这是Wordpress 去除重复评论限制的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=346700' scrolling='no'>

    在wordpress中,已经默认加入了重复评论的限制,如果需要去掉这个限制,需要修改相应的源代码,具体如下:

    wp-includes 文件夹下面 comment.php

    function wp_allow_comment($commentdata) {
        global $wpdb;
        extract($commentdata, EXTR_SKIP);

        // Simple duplicate check
        // expected_slashed ($comment_post_ID, $comment_author, $comment_author_email, $comment_content)
        $dupe = "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = '$comment_post_ID' AND comment_approved != 'trash' AND ( comment_author = '$comment_author' ";
        if ( $comment_author_email )
            $dupe .= "OR comment_author_email = '$comment_author_email' ";
        $dupe .= ") AND comment_content = '$comment_content' LIMIT 1";
    //    if ( $wpdb->get_var($dupe) ) {
    //        do_action( 'comment_duplicate_trigger', $commentdata );
    //        if ( defined('DOING_AJAX') )
    //            die( __('Duplicate comment detected; it looks as though you’ve already said that!') );

    //        wp_die( __('Duplicate comment detected; it looks as though you’ve already said that!') );
    //    }

        do_action( 'check_comment_flood', $comment_author_IP, $comment_author_email, $comment_date_gmt );

        if ( isset($user_id) && $user_id) {
            $userdata = get_userdata($user_id);
            $user = new WP_User($user_id);
            $post_author = $wpdb->get_var($wpdb->prepare("SELECT post_author FROM $wpdb->posts WHERE ID = %d LIMIT 1", $comment_post_ID));
        }

        if ( isset($userdata) && ( $user_id == $post_author || $user->has_cap('moderate_comments') ) ) {
            // The author and the admins get respect.
            $approved = 1;
         } else {
            // Everyone else's comments will be checked.
            if ( check_comment($comment_author, $comment_author_email, $comment_author_url, $comment_content, $comment_author_IP, $comment_agent, $comment_type) )
                $approved = 1;
            else
                $approved = 0;
            if ( wp_blacklist_check($comment_author, $comment_author_email, $comment_author_url, $comment_content, $comment_author_IP, $comment_agent) )
                $approved = 'spam';
        }

        $approved = apply_filters( 'pre_comment_approved', $approved, $commentdata );
        return $approved;
    }

     去掉下面部分即可

    //    if ( $wpdb->get_var($dupe) ) {
    //        do_action( 'comment_duplicate_trigger', $commentdata );
    //        if ( defined('DOING_AJAX') )
    //            die( __('Duplicate comment detected; it looks as though you’ve already said that!') );

    //        wp_die( __('Duplicate comment detected; it looks as though you’ve already said that!') );
    //    }

    PS:修改前先记得备份哦

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/346700.html pageNo:4
  • 相关阅读:
    IO多路复用 IO异步
    你没听说过的协程
    事件驱动和IO操作
    堡垒机前戏——paramiko
    听说过的多进程,多线程到底是什么鬼
    socket套接字
    看见就烦的异常
    struts2值栈内部数据结构详解
    hibernate一级缓存的源码初窥
    使用自定义标签模拟jstl的<c:for each>标签
  • 原文地址:https://www.cnblogs.com/ooooo/p/2240590.html
Copyright © 2020-2023  润新知