WP hooks navigation: Home/browse • Actions index • Filters index
To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).
The best way to understand what a hook does is to look at where it occurs in the source code.
do_action( "hook_name" )apply_filters( "hook_name", "what_to_filter" ).Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.
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. |