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 2 times in this file.
| Line | Code | 
|---|---|
| 191 |                // akismet_spam_count will be incremented later by comment_is_spam() | 
| 192 |                self::$last_comment_result = 'spam'; | 
| 193 |  | 
| 194 |                $discard = ( isset( $commentdata['akismet_pro_tip'] ) && $commentdata['akismet_pro_tip'] === 'discard' && self::allow_discard() ); | 
| 195 |  | 
| 196 |                do_action( 'akismet_spam_caught', $discard ); | 
| 197 |  | 
| 198 |                if ( $discard ) { | 
| 199 |                     // akismet_result_spam() won't be called so bump the counter here | 
| 200 |                     if ( $incr = apply_filters('akismet_spam_count_incr', 1) ) | 
| 201 |                          update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr ); | 
| 202 |                     $redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : get_permalink( $post ); | 
| 203 |                     wp_safe_redirect( esc_url_raw( $redirect_to ) ); | 
| 204 |                     die(); | 
| 205 |                } | 
| 206 |           } | 
| 207 |            | 
| 208 |           // if the response is neither true nor false, hold the comment for moderation and schedule a recheck | 
| 209 |           if ( 'true' != $response[1] && 'false' != $response[1] ) { | 
| Line | Code | 
| 825 |      // filter handler used to return a spam result to pre_comment_approved | 
| 826 |      public static function last_comment_status( $approved, $comment ) { | 
| 827 |           // Only do this if it's the correct comment | 
| 828 |           if ( is_null(self::$last_comment_result) || ! self::matches_last_comment( $comment ) ) { | 
| 829 |                self::log( "comment_is_spam mismatched comment, returning unaltered $approved" ); | 
| 830 |                return $approved; | 
| 831 |           } | 
| 832 |  | 
| 833 |           // bump the counter here instead of when the filter is added to reduce the possibility of overcounting | 
| 834 |           if ( $incr = apply_filters('akismet_spam_count_incr', 1) ) | 
| 835 |                update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr ); | 
| 836 |  | 
| 837 |           return self::$last_comment_result; | 
| 838 |      } | 
| 839 |       | 
| 840 |      /** | 
| 841 |       * If Akismet is temporarily unreachable, we don't want to "spam" the blogger with | 
| 842 |       * moderation emails for comments that will be automatically cleared or spammed on | 
| 843 |       * the next retry. |