Source View: akismet_optimize_table

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.

  • Action hooks look like this: do_action( "hook_name" )
  • Filter hooks look like this: 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.

Source View

This hook occurs 2 times in this file.

Line Code
303
304                $comma_comment_ids = implode( ', ', array_map('intval', $comment_ids) );
305
306                $wpdb->query("DELETE FROM {$wpdb->comments} WHERE comment_id IN ( $comma_comment_ids )");
307                $wpdb->query("DELETE FROM {$wpdb->commentmeta} WHERE comment_id IN ( $comma_comment_ids )");
308
309                clean_comment_cache( $comment_ids );
310           }
311
312           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->comments ) ) // lucky number
313                $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}");
314      }
315
316      public static function delete_old_comments_meta() {
317           global $wpdb;
318
319           $interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 );
320
321           # enfore a minimum of 1 day
 
Line Code
330                     return;
331
332                $wpdb->queries = array();
333
334                foreach ( $comment_ids as $comment_id ) {
335                     delete_comment_meta( $comment_id, 'akismet_as_submitted' );
336                }
337           }
338
339           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
340                $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
341      }
342
343      // how many approved comments does this author have?
344      public static function get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) {
345           global $wpdb;
346
347           if ( !empty( $user_id ) )
348                return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->comments} WHERE user_id = %d AND comment_approved = 1", $user_id ) );