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 | 
|---|---|
| 222 |                self::$last_comment_result = 'spam'; | 
| 223 |  | 
| 224 |                $discard = ( isset( $commentdata['akismet_pro_tip'] ) && $commentdata['akismet_pro_tip'] === 'discard' && self::allow_discard() ); | 
| 225 |  | 
| 226 |                do_action( 'akismet_spam_caught', $discard ); | 
| 227 |  | 
| 228 |                if ( $discard ) { | 
| 229 |                     // The spam is obvious, so we're bailing out early.  | 
| 230 |                     // akismet_result_spam() won't be called so bump the counter here | 
| 231 |                     if ( $incr = apply_filters( 'akismet_spam_count_incr', 1 ) ) { | 
| 232 |                          update_option( 'akismet_spam_count', get_option( 'akismet_spam_count' ) + $incr ); | 
| 233 |                     } | 
| 234 |  | 
| 235 |                     if ( self::$is_rest_api_call ) { | 
| 236 |                          return new WP_Error( 'akismet_rest_comment_discarded', __( 'Comment discarded.', 'akismet' ) ); | 
| 237 |                     } | 
| 238 |                     else { | 
| 239 |                          // Redirect back to the previous page, or failing that, the post permalink, or failing that, the homepage of the blog. | 
| 240 |                          $redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : ( $post ? get_permalink( $post ) : home_url() ); | 
| Line | Code | 
| 1068 |                // If the last comment we checked has had its approval set to 'trash', | 
| 1069 |                // then it failed the comment blacklist check. Let that blacklist override | 
| 1070 |                // the spam check, since users have the (valid) expectation that when | 
| 1071 |                // they fill out their blacklists, comments that match it will always | 
| 1072 |                // end up in the trash. | 
| 1073 |                return $approved; | 
| 1074 |           } | 
| 1075 |  | 
| 1076 |           // bump the counter here instead of when the filter is added to reduce the possibility of overcounting | 
| 1077 |           if ( $incr = apply_filters('akismet_spam_count_incr', 1) ) | 
| 1078 |                update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr ); | 
| 1079 |  | 
| 1080 |           return self::$last_comment_result; | 
| 1081 |      } | 
| 1082 |       | 
| 1083 |      /** | 
| 1084 |       * If Akismet is temporarily unreachable, we don't want to "spam" the blogger with | 
| 1085 |       * moderation emails for comments that will be automatically cleared or spammed on | 
| 1086 |       * the next retry. |