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 |
|---|---|
| 298 | self::$last_comment_result = 'spam'; |
| 299 | |
| 300 | $discard = ( isset( $commentdata['akismet_pro_tip'] ) && $commentdata['akismet_pro_tip'] === 'discard' && self::allow_discard() ); |
| 301 | |
| 302 | do_action( 'akismet_spam_caught', $discard ); |
| 303 | |
| 304 | if ( $discard ) { |
| 305 | // The spam is obvious, so we're bailing out early. |
| 306 | // akismet_result_spam() won't be called so bump the counter here |
| 307 | if ( $incr = apply_filters( 'akismet_spam_count_incr', 1 ) ) { |
| 308 | update_option( 'akismet_spam_count', get_option( 'akismet_spam_count' ) + $incr ); |
| 309 | } |
| 310 | |
| 311 | if ( 'rest_api' === $context ) { |
| 312 | return new WP_Error( 'akismet_rest_comment_discarded', __( 'Comment discarded.', 'akismet' ) ); |
| 313 | } else if ( 'xml-rpc' === $context ) { |
| 314 | // If this is a pingback that we're pre-checking, the discard behavior is the same as the normal spam response behavior. |
| 315 | return $commentdata; |
| 316 | } else { |
| Line | Code |
| 1191 | // If the last comment we checked has had its approval set to 'trash', |
| 1192 | // then it failed the comment blacklist check. Let that blacklist override |
| 1193 | // the spam check, since users have the (valid) expectation that when |
| 1194 | // they fill out their blacklists, comments that match it will always |
| 1195 | // end up in the trash. |
| 1196 | return $approved; |
| 1197 | } |
| 1198 | |
| 1199 | // bump the counter here instead of when the filter is added to reduce the possibility of overcounting |
| 1200 | if ( $incr = apply_filters('akismet_spam_count_incr', 1) ) |
| 1201 | update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr ); |
| 1202 | |
| 1203 | return self::$last_comment_result; |
| 1204 | } |
| 1205 | |
| 1206 | /** |
| 1207 | * If Akismet is temporarily unreachable, we don't want to "spam" the blogger with |
| 1208 | * moderation emails for comments that will be automatically cleared or spammed on |
| 1209 | * the next retry. |