Codex tools: Log in
Contents |
A filter hook called by the wp_allow_comment function prior to inserting a comment into the database. The filter is applied to the proposed comment's approval status, allowing a plugin to override.
<?php function filter_handler( $approved , $commentdata ){ ...... }
add_filter( 'pre_comment_approved' , 'filter_handler' , '99', 2 ); ?>
The $commentdata array contains the same indices as the array returned by get_comments(), including:
'comment_post_ID' - The post to which the comment will apply 'comment_author' - (may be empty) 'comment_author_email' - (may be empty) 'comment_author_url' - (may be empty) 'comment_author_IP' - IP address 'comment_agent' - e.g., "Mozilla/5.0..." 'comment_content' - The text of the proposed comment 'comment_type' - 'pingback', 'trackback', or empty for regular comments 'user_ID' - (empty if not logged in)
<?php
function filter_handler( $approved , $commentdata )
{
// inspect $commentdata to determine approval, disapproval, or spam status
return $approved;
}
add_filter( 'pre_comment_approved' , 'filter_handler' , '99', 2 );
?>
wp_allow_comment() handles the preliminary approval checking, and that approval status is passed through this filter before it returns.
(wp_allow_comment) Since: 2.0.0
Prior to WP 3.1, the filter was not passed $comment_data and instead was expected to use global variables such as $comment_ID to access information about the comment. (see: http://core.trac.wordpress.org/ticket/14802 )
wp_allow_comment is located in wp-includes/comment.php.
comment_save_pre, pre_comment_approved, pre_comment_content, preprocess_comment, wp_allow_comment()