Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

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.

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
440                foreach ( $comment_ids as $comment_id ) {
441                     do_action( 'deleted_comment', $comment_id, $comments[ $comment_id ] );
442                     unset( $comments[ $comment_id ] );
443                }
444
445                clean_comment_cache( $comment_ids );
446                do_action( 'akismet_delete_comment_batch', count( $comment_ids ) );
447           }
448
449           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->comments ) ) // lucky number
450                $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}");
451      }
452
453      public static function delete_old_comments_meta() {
454           global $wpdb;
455
456           $interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 );
457
458           # enforce a minimum of 1 day
 
Line Code
470
471                foreach ( $comment_ids as $comment_id ) {
472                     delete_comment_meta( $comment_id, 'akismet_as_submitted' );
473                     do_action( 'akismet_batch_delete_count', __FUNCTION__ );
474                }
475
476                do_action( 'akismet_delete_commentmeta_batch', count( $comment_ids ) );
477           }
478
479           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
480                $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
481      }
482
483      // Clear out comments meta that no longer have corresponding comments in the database
484      public static function delete_orphaned_commentmeta() {
485           global $wpdb;
486
487           $last_meta_id = 0;
488           $start_time = isset( $_SERVER['REQUEST_TIME_FLOAT'] ) ? $_SERVER['REQUEST_TIME_FLOAT'] : microtime( true );
 
Line Code
507                }
508
509                do_action( 'akismet_delete_commentmeta_batch', $commentmeta_deleted );
510
511                // If we're getting close to max_execution_time, quit for this round.
512                if ( microtime(true) - $start_time > $max_exec_time )
513                     return;
514           }
515
516           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
517                $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
518      }
519
520      // how many approved comments does this author have?
521      public static function get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) {
522           global $wpdb;
523
524           /**
525            * Which comment types should be ignored when counting a user's approved comments?