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
432                foreach ( $comment_ids as $comment_id ) {
433                     do_action( 'deleted_comment', $comment_id, $comments[ $comment_id ] );
434                     unset( $comments[ $comment_id ] );
435                }
436
437                clean_comment_cache( $comment_ids );
438                do_action( 'akismet_delete_comment_batch', count( $comment_ids ) );
439           }
440
441           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->comments ) ) // lucky number
442                $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}");
443      }
444
445      public static function delete_old_comments_meta() {
446           global $wpdb;
447
448           $interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 );
449
450           # enforce a minimum of 1 day
 
Line Code
462
463                foreach ( $comment_ids as $comment_id ) {
464                     delete_comment_meta( $comment_id, 'akismet_as_submitted' );
465                     do_action( 'akismet_batch_delete_count', __FUNCTION__ );
466                }
467
468                do_action( 'akismet_delete_commentmeta_batch', count( $comment_ids ) );
469           }
470
471           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
472                $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
473      }
474
475      // Clear out comments meta that no longer have corresponding comments in the database
476      public static function delete_orphaned_commentmeta() {
477           global $wpdb;
478
479           $last_meta_id = 0;
480           $start_time = isset( $_SERVER['REQUEST_TIME_FLOAT'] ) ? $_SERVER['REQUEST_TIME_FLOAT'] : microtime( true );
 
Line Code
499                }
500
501                do_action( 'akismet_delete_commentmeta_batch', $commentmeta_deleted );
502
503                // If we're getting close to max_execution_time, quit for this round.
504                if ( microtime(true) - $start_time > $max_exec_time )
505                     return;
506           }
507
508           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
509                $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
510      }
511
512      // how many approved comments does this author have?
513      public static function get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) {
514           global $wpdb;
515
516           /**
517            * Which comment types should be ignored when counting a user's approved comments?