Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: akismet_batch_delete_count

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

This hook occurs 3 times in this file.

Line Code
536
537                $wpdb->queries = array();
538
539                $comments = array();
540
541                foreach ( $comment_ids as $comment_id ) {
542                     $comments[ $comment_id ] = get_comment( $comment_id );
543
544                     do_action( 'delete_comment', $comment_id, $comments[ $comment_id ] );
545                     do_action( 'akismet_batch_delete_count', __FUNCTION__ );
546                }
547
548                // Prepared as strings since comment_id is an unsigned BIGINT, and using %d will constrain the value to the maximum signed BIGINT.
549                $format_string = implode( ', ', array_fill( 0, is_countable( $comment_ids ) ? count( $comment_ids ) : 0, '%s' ) );
550
551                $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->comments} WHERE comment_id IN ( " . $format_string . " )", $comment_ids ) );
552                $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->commentmeta} WHERE comment_id IN ( " . $format_string . " )", $comment_ids ) );
553
554                foreach ( $comment_ids as $comment_id ) {
 
Line Code
578           // after $interval days regardless of the comment status
579           while ( $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT m.comment_id FROM {$wpdb->commentmeta} as m INNER JOIN {$wpdb->comments} as c USING(comment_id) WHERE m.meta_key = 'akismet_as_submitted' AND DATE_SUB(NOW(), INTERVAL %d DAY) > c.comment_date_gmt LIMIT 10000", $interval ) ) ) {
580                if ( empty( $comment_ids ) )
581                     return;
582
583                $wpdb->queries = array();
584
585                foreach ( $comment_ids as $comment_id ) {
586                     delete_comment_meta( $comment_id, 'akismet_as_submitted' );
587                     do_action( 'akismet_batch_delete_count', __FUNCTION__ );
588                }
589
590                do_action( 'akismet_delete_commentmeta_batch', is_countable( $comment_ids ) ? count( $comment_ids ) : 0 );
591           }
592
593           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
594                $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
595      }
596
 
Line Code
607                     return;
608
609                $wpdb->queries = array();
610
611                $commentmeta_deleted = 0;
612
613                foreach ( $commentmeta_results as $commentmeta ) {
614                     if ( 'akismet_' == substr( $commentmeta->meta_key, 0, 8 ) ) {
615                          delete_comment_meta( $commentmeta->comment_id, $commentmeta->meta_key );
616                          do_action( 'akismet_batch_delete_count', __FUNCTION__ );
617                          $commentmeta_deleted++;
618                     }
619
620                     $last_meta_id = $commentmeta->meta_id;
621                }
622
623                do_action( 'akismet_delete_commentmeta_batch', $commentmeta_deleted );
624
625                // If we're getting close to max_execution_time, quit for this round.