现在的位置: 首页 > 综合 > 正文

WordPress 去除重复评论限制

2012年04月07日 ⁄ 综合 ⁄ 共 2463字 ⁄ 字号 评论关闭

在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:修改前先记得备份哦

抱歉!评论已关闭.