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 |
|---|---|
| 311 | self::$last_comment_result = 'spam'; |
| 312 | |
| 313 | $discard = ( isset( $commentdata['akismet_pro_tip'] ) && $commentdata['akismet_pro_tip'] === 'discard' && self::allow_discard() ); |
| 314 | |
| 315 | do_action( 'akismet_spam_caught', $discard ); |
| 316 | |
| 317 | if ( $discard ) { |
| 318 | // The spam is obvious, so we're bailing out early. |
| 319 | // akismet_result_spam() won't be called so bump the counter here |
| 320 | if ( $incr = apply_filters( 'akismet_spam_count_incr', 1 ) ) { |
| 321 | update_option( 'akismet_spam_count', get_option( 'akismet_spam_count' ) + $incr ); |
| 322 | } |
| 323 | |
| 324 | if ( 'rest_api' === $context ) { |
| 325 | return new WP_Error( 'akismet_rest_comment_discarded', __( 'Comment discarded.', 'akismet' ) ); |
| 326 | } else if ( 'xml-rpc' === $context ) { |
| 327 | // If this is a pingback that we're pre-checking, the discard behavior is the same as the normal spam response behavior. |
| 328 | return $commentdata; |
| 329 | } else { |
| Line | Code |
| 1205 | // If the last comment we checked has had its approval set to 'trash', |
| 1206 | // then it failed the comment blacklist check. Let that blacklist override |
| 1207 | // the spam check, since users have the (valid) expectation that when |
| 1208 | // they fill out their blacklists, comments that match it will always |
| 1209 | // end up in the trash. |
| 1210 | return $approved; |
| 1211 | } |
| 1212 | |
| 1213 | // bump the counter here instead of when the filter is added to reduce the possibility of overcounting |
| 1214 | if ( $incr = apply_filters('akismet_spam_count_incr', 1) ) |
| 1215 | update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr ); |
| 1216 | |
| 1217 | return self::$last_comment_result; |
| 1218 | } |
| 1219 | |
| 1220 | /** |
| 1221 | * If Akismet is temporarily unreachable, we don't want to "spam" the blogger with |
| 1222 | * moderation emails for comments that will be automatically cleared or spammed on |
| 1223 | * the next retry. |