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
476                foreach ( $comment_ids as $comment_id ) {
477                     do_action( 'deleted_comment', $comment_id, $comments[ $comment_id ] );
478                     unset( $comments[ $comment_id ] );
479                }
480
481                clean_comment_cache( $comment_ids );
482                do_action( 'akismet_delete_comment_batch', count( $comment_ids ) );
483           }
484
485           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->comments ) ) // lucky number
486                $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}");
487      }
488
489      public static function delete_old_comments_meta() {
490           global $wpdb;
491
492           $interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 );
493
494           # enforce a minimum of 1 day
 
Line Code
506
507                foreach ( $comment_ids as $comment_id ) {
508                     delete_comment_meta( $comment_id, 'akismet_as_submitted' );
509                     do_action( 'akismet_batch_delete_count', __FUNCTION__ );
510                }
511
512                do_action( 'akismet_delete_commentmeta_batch', count( $comment_ids ) );
513           }
514
515           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
516                $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
517      }
518
519      // Clear out comments meta that no longer have corresponding comments in the database
520      public static function delete_orphaned_commentmeta() {
521           global $wpdb;
522
523           $last_meta_id = 0;
524           $start_time = isset( $_SERVER['REQUEST_TIME_FLOAT'] ) ? $_SERVER['REQUEST_TIME_FLOAT'] : microtime( true );
 
Line Code
543                }
544
545                do_action( 'akismet_delete_commentmeta_batch', $commentmeta_deleted );
546
547                // If we're getting close to max_execution_time, quit for this round.
548                if ( microtime(true) - $start_time > $max_exec_time )
549                     return;
550           }
551
552           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
553                $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
554      }
555
556      // how many approved comments does this author have?
557      public static function get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) {
558           global $wpdb;
559
560           /**
561            * Which comment types should be ignored when counting a user's approved comments?