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 |
|---|---|
| 258 | self::$last_comment_result = 'spam'; |
| 259 | |
| 260 | $discard = ( isset( $commentdata['akismet_pro_tip'] ) && $commentdata['akismet_pro_tip'] === 'discard' && self::allow_discard() ); |
| 261 | |
| 262 | do_action( 'akismet_spam_caught', $discard ); |
| 263 | |
| 264 | if ( $discard ) { |
| 265 | // The spam is obvious, so we're bailing out early. |
| 266 | // akismet_result_spam() won't be called so bump the counter here |
| 267 | if ( $incr = apply_filters( 'akismet_spam_count_incr', 1 ) ) { |
| 268 | update_option( 'akismet_spam_count', get_option( 'akismet_spam_count' ) + $incr ); |
| 269 | } |
| 270 | |
| 271 | if ( 'rest_api' === $context ) { |
| 272 | return new WP_Error( 'akismet_rest_comment_discarded', __( 'Comment discarded.', 'akismet' ) ); |
| 273 | } else if ( 'xml-rpc' === $context ) { |
| 274 | // If this is a pingback that we're pre-checking, the discard behavior is the same as the normal spam response behavior. |
| 275 | return $commentdata; |
| 276 | } else { |
| Line | Code |
| 1151 | // If the last comment we checked has had its approval set to 'trash', |
| 1152 | // then it failed the comment blacklist check. Let that blacklist override |
| 1153 | // the spam check, since users have the (valid) expectation that when |
| 1154 | // they fill out their blacklists, comments that match it will always |
| 1155 | // end up in the trash. |
| 1156 | return $approved; |
| 1157 | } |
| 1158 | |
| 1159 | // bump the counter here instead of when the filter is added to reduce the possibility of overcounting |
| 1160 | if ( $incr = apply_filters('akismet_spam_count_incr', 1) ) |
| 1161 | update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr ); |
| 1162 | |
| 1163 | return self::$last_comment_result; |
| 1164 | } |
| 1165 | |
| 1166 | /** |
| 1167 | * If Akismet is temporarily unreachable, we don't want to "spam" the blogger with |
| 1168 | * moderation emails for comments that will be automatically cleared or spammed on |
| 1169 | * the next retry. |