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
727
728                $wpdb->queries = array();
729
730                $comments = array();
731
732                foreach ( $comment_ids as $comment_id ) {
733                     $comments[ $comment_id ] = get_comment( $comment_id );
734
735                     do_action( 'delete_comment', $comment_id, $comments[ $comment_id ] );
736                     do_action( 'akismet_batch_delete_count', __FUNCTION__ );
737                }
738
739                // Prepared as strings since comment_id is an unsigned BIGINT, and using %d will constrain the value to the maximum signed BIGINT.
740                $format_string = implode( ', ', array_fill( 0, is_countable( $comment_ids ) ? count( $comment_ids ) : 0, '%s' ) );
741
742                $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->comments} WHERE comment_id IN ( " . $format_string . ' )', $comment_ids ) );
743                $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->commentmeta} WHERE comment_id IN ( " . $format_string . ' )', $comment_ids ) );
744
745                foreach ( $comment_ids as $comment_id ) {
 
Line Code
772           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 ) ) ) {
773                if ( empty( $comment_ids ) ) {
774                     return;
775                }
776
777                $wpdb->queries = array();
778
779                foreach ( $comment_ids as $comment_id ) {
780                     delete_comment_meta( $comment_id, 'akismet_as_submitted' );
781                     do_action( 'akismet_batch_delete_count', __FUNCTION__ );
782                }
783
784                do_action( 'akismet_delete_commentmeta_batch', is_countable( $comment_ids ) ? count( $comment_ids ) : 0 );
785           }
786
787           if ( apply_filters( 'akismet_optimize_table', ( mt_rand( 1, 5000 ) == 11 ), $wpdb->commentmeta ) ) { // lucky number
788                $wpdb->query( "OPTIMIZE TABLE {$wpdb->commentmeta}" );
789           }
790      }
 
Line Code
803                }
804
805                $wpdb->queries = array();
806
807                $commentmeta_deleted = 0;
808
809                foreach ( $commentmeta_results as $commentmeta ) {
810                     if ( 'akismet_' == substr( $commentmeta->meta_key, 0, 8 ) ) {
811                          delete_comment_meta( $commentmeta->comment_id, $commentmeta->meta_key );
812                          do_action( 'akismet_batch_delete_count', __FUNCTION__ );
813                          ++$commentmeta_deleted;
814                     }
815
816                     $last_meta_id = $commentmeta->meta_id;
817                }
818
819                do_action( 'akismet_delete_commentmeta_batch', $commentmeta_deleted );
820
821                // If we're getting close to max_execution_time, quit for this round.