WP hooks navigation: Home/browse • Actions index • Filters index
To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).
The best way to understand what a hook does is to look at where it occurs in the source code.
do_action( "hook_name" )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.
This hook occurs 3 times in this file.
| Line | Code |
|---|---|
| 376 | $format_string = implode( ", ", array_fill( 0, count( $comment_ids ), '%s' ) ); |
| 377 | |
| 378 | $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->comments} WHERE comment_id IN ( " . $format_string . " )", $comment_ids ) ); |
| 379 | $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->commentmeta} WHERE comment_id IN ( " . $format_string . " )", $comment_ids ) ); |
| 380 | |
| 381 | clean_comment_cache( $comment_ids ); |
| 382 | do_action( 'akismet_delete_comment_batch', count( $comment_ids ) ); |
| 383 | } |
| 384 | |
| 385 | if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->comments ) ) // lucky number |
| 386 | $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}"); |
| 387 | } |
| 388 | |
| 389 | public static function delete_old_comments_meta() { |
| 390 | global $wpdb; |
| 391 | |
| 392 | $interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 ); |
| 393 | |
| 394 | # enforce a minimum of 1 day |
| Line | Code |
| 406 | |
| 407 | foreach ( $comment_ids as $comment_id ) { |
| 408 | delete_comment_meta( $comment_id, 'akismet_as_submitted' ); |
| 409 | do_action( 'akismet_batch_delete_count', __FUNCTION__ ); |
| 410 | } |
| 411 | |
| 412 | do_action( 'akismet_delete_commentmeta_batch', count( $comment_ids ) ); |
| 413 | } |
| 414 | |
| 415 | if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number |
| 416 | $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}"); |
| 417 | } |
| 418 | |
| 419 | // Clear out comments meta that no longer have corresponding comments in the database |
| 420 | public static function delete_orphaned_commentmeta() { |
| 421 | global $wpdb; |
| 422 | |
| 423 | $last_meta_id = 0; |
| 424 | $start_time = isset( $_SERVER['REQUEST_TIME_FLOAT'] ) ? $_SERVER['REQUEST_TIME_FLOAT'] : microtime( true ); |
| Line | Code |
| 443 | } |
| 444 | |
| 445 | do_action( 'akismet_delete_commentmeta_batch', $commentmeta_deleted ); |
| 446 | |
| 447 | // If we're getting close to max_execution_time, quit for this round. |
| 448 | if ( microtime(true) - $start_time > $max_exec_time ) |
| 449 | return; |
| 450 | } |
| 451 | |
| 452 | if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number |
| 453 | $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}"); |
| 454 | } |
| 455 | |
| 456 | // how many approved comments does this author have? |
| 457 | public static function get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) { |
| 458 | global $wpdb; |
| 459 | |
| 460 | if ( !empty( $user_id ) ) |
| 461 | return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->comments} WHERE user_id = %d AND comment_approved = 1", $user_id ) ); |