Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: comment_duplicate_trigger

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

Line Code
670      extract($commentdata, EXTR_SKIP);
671
672      // Simple duplicate check
673      // expected_slashed ($comment_post_ID, $comment_author, $comment_author_email, $comment_content)
674      $dupe = $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_parent = %s AND comment_approved != 'trash' AND ( comment_author = %s ", wp_unslash( $comment_post_ID ), wp_unslash( $comment_parent ), wp_unslash( $comment_author ) );
675      if ( $comment_author_email )
676           $dupe .= $wpdb->prepare( "OR comment_author_email = %s ", wp_unslash( $comment_author_email ) );
677      $dupe .= $wpdb->prepare( ") AND comment_content = %s LIMIT 1", wp_unslash( $comment_content ) );
678      if ( $wpdb->get_var($dupe) ) {
679           do_action( 'comment_duplicate_trigger', $commentdata );
680           if ( defined('DOING_AJAX') )
681                die( __('Duplicate comment detected; it looks as though you’ve already said that!') );
682
683           wp_die( __('Duplicate comment detected; it looks as though you’ve already said that!') );
684      }
685
686      do_action( 'check_comment_flood', $comment_author_IP, $comment_author_email, $comment_date_gmt );
687
688      if ( ! empty( $user_id ) ) {