The WordPress hook preprocess_comment
is triggered before a comment is saved to the database. This hook can be used to modify the comment data before it is inserted into the database.
There are various use cases of this hook. For example, you can use it to add or modify data in the comment object, validate the comment data, or even block the comment submission.
Here is an example usage code for preprocess_comment
:
add_filter( 'preprocess_comment', 'my_preprocess_comment_function' );
function my_preprocess_comment_function( $comment_data ) {
// Modify the comment data
$comment_data['comment_content'] = strtoupper( $comment_data['comment_content'] );
// Validate the comment data
if ( empty( $comment_data['comment_author'] ) ) {
wp_die( 'Please enter your name.' );
}
// Block the comment submission
if ( $comment_data['comment_author'] === 'Spam Bot' ) {
wp_die( 'You are not allowed to comment.' );
}
return $comment_data;
}
In this example, we are using the preprocess_comment
hook to modify the comment content to uppercase, validate that the comment author is not empty, and block the comment submission if the author’s name is "Spam Bot".
By using the preprocess_comment
hook, we can customize the comment submission process to fit our specific needs.