Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: akismet_spam_count_incr

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

This hook occurs 2 times in this file.

Line Code
217                self::$last_comment_result = 'spam';
218
219                $discard = ( isset( $commentdata['akismet_pro_tip'] ) && $commentdata['akismet_pro_tip'] === 'discard' && self::allow_discard() );
220
221                do_action( 'akismet_spam_caught', $discard );
222
223                if ( $discard ) {
224                     // The spam is obvious, so we're bailing out early. 
225                     // akismet_result_spam() won't be called so bump the counter here
226                     if ( $incr = apply_filters( 'akismet_spam_count_incr', 1 ) ) {
227                          update_option( 'akismet_spam_count', get_option( 'akismet_spam_count' ) + $incr );
228                     }
229
230                     if ( self::$is_rest_api_call ) {
231                          return new WP_Error( 'akismet_rest_comment_discarded', __( 'Comment discarded.', 'akismet' ) );
232                     }
233                     else {
234                          // Redirect back to the previous page, or failing that, the post permalink, or failing that, the homepage of the blog.
235                          $redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : ( $post ? get_permalink( $post ) : home_url() );
 
Line Code
1001                // If the last comment we checked has had its approval set to 'trash',
1002                // then it failed the comment blacklist check. Let that blacklist override
1003                // the spam check, since users have the (valid) expectation that when
1004                // they fill out their blacklists, comments that match it will always
1005                // end up in the trash.
1006                return $approved;
1007           }
1008
1009           // bump the counter here instead of when the filter is added to reduce the possibility of overcounting
1010           if ( $incr = apply_filters('akismet_spam_count_incr', 1) )
1011                update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr );
1012
1013           return self::$last_comment_result;
1014      }
1015      
1016      /**
1017       * If Akismet is temporarily unreachable, we don't want to "spam" the blogger with
1018       * moderation emails for comments that will be automatically cleared or spammed on
1019       * the next retry.