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
288
289                $comma_comment_ids = implode( ', ', array_map('intval', $comment_ids) );
290
291                $wpdb->query("DELETE FROM {$wpdb->comments} WHERE comment_id IN ( $comma_comment_ids )");
292                $wpdb->query("DELETE FROM {$wpdb->commentmeta} WHERE comment_id IN ( $comma_comment_ids )");
293
294                clean_comment_cache( $comment_ids );
295           }
296
297           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->comments ) ) // lucky number
298                $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}");
299      }
300
301      public static function delete_old_comments_meta() {
302           global $wpdb;
303
304           $interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 );
305
306           # enfore a minimum of 1 day
 
Line Code
315                     return;
316
317                $wpdb->queries = array();
318
319                foreach ( $comment_ids as $comment_id ) {
320                     delete_comment_meta( $comment_id, 'akismet_as_submitted' );
321                }
322           }
323
324           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
325                $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
326      }
327
328      // how many approved comments does this author have?
329      public static function get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) {
330           global $wpdb;
331
332           if ( !empty( $user_id ) )
333                return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->comments} WHERE user_id = %d AND comment_approved = 1", $user_id ) );