简介:这是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;
}
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!') );
// }
// 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:修改前先记得备份哦