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 |
|---|---|
| 358 | self::$last_comment_result = 'spam'; |
| 359 | |
| 360 | $discard = ( isset( $commentdata['akismet_pro_tip'] ) && $commentdata['akismet_pro_tip'] === 'discard' && self::allow_discard() ); |
| 361 | |
| 362 | do_action( 'akismet_spam_caught', $discard ); |
| 363 | |
| 364 | if ( $discard ) { |
| 365 | // The spam is obvious, so we're bailing out early. |
| 366 | // akismet_result_spam() won't be called so bump the counter here |
| 367 | if ( $incr = apply_filters( 'akismet_spam_count_incr', 1 ) ) { |
| 368 | update_option( 'akismet_spam_count', get_option( 'akismet_spam_count' ) + $incr ); |
| 369 | } |
| 370 | |
| 371 | if ( 'rest_api' === $context ) { |
| 372 | return new WP_Error( 'akismet_rest_comment_discarded', __( 'Comment discarded.', 'akismet' ) ); |
| 373 | } else if ( 'xml-rpc' === $context ) { |
| 374 | // If this is a pingback that we're pre-checking, the discard behavior is the same as the normal spam response behavior. |
| 375 | return $commentdata; |
| 376 | } else { |
| Line | Code |
| 1312 | // If the last comment we checked has had its approval set to 'trash', |
| 1313 | // then it failed the comment blacklist check. Let that blacklist override |
| 1314 | // the spam check, since users have the (valid) expectation that when |
| 1315 | // they fill out their blacklists, comments that match it will always |
| 1316 | // end up in the trash. |
| 1317 | return $approved; |
| 1318 | } |
| 1319 | |
| 1320 | // bump the counter here instead of when the filter is added to reduce the possibility of overcounting |
| 1321 | if ( $incr = apply_filters('akismet_spam_count_incr', 1) ) |
| 1322 | update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr ); |
| 1323 | |
| 1324 | return self::$last_comment_result; |
| 1325 | } |
| 1326 | |
| 1327 | /** |
| 1328 | * If Akismet is temporarily unreachable, we don't want to "spam" the blogger with |
| 1329 | * moderation emails for comments that will be automatically cleared or spammed on |
| 1330 | * the next retry. |