The comment_moderation_subject WordPress PHP filter is used to modify the subject of the comment moderation email.
Usage
add_filter('comment_moderation_subject', 'my_custom_comment_moderation_subject', 10, 2);
function my_custom_comment_moderation_subject($subject, $comment_id) {
// your custom code here
return $subject;
}
Parameters
$subject(string): Subject of the comment moderation email.$comment_id(int): Comment ID.
More information
See WordPress Developer Resources: comment_moderation_subject
Examples
Customizing the email subject
Modify the email subject by adding the site name and comment ID.
function my_custom_comment_moderation_subject($subject, $comment_id) {
$site_name = get_bloginfo('name');
$subject = "[$site_name] Comment ID $comment_id: Moderation Required";
return $subject;
}
add_filter('comment_moderation_subject', 'my_custom_comment_moderation_subject', 10, 2);
Adding the author’s name to the subject
Include the comment author’s name in the email subject.
function add_author_name_to_subject($subject, $comment_id) {
$comment = get_comment($comment_id);
$author_name = $comment->comment_author;
$subject = "[$author_name] $subject";
return $subject;
}
add_filter('comment_moderation_subject', 'add_author_name_to_subject', 10, 2);
Adding comment status to the subject
Include the comment status in the email subject.
function add_comment_status_to_subject($subject, $comment_id) {
$comment = get_comment($comment_id);
$comment_status = $comment->comment_approved;
$subject = "[$comment_status] $subject";
return $subject;
}
add_filter('comment_moderation_subject', 'add_comment_status_to_subject', 10, 2);
Customizing the subject for specific post types
Change the subject for comments on a specific post type.
function custom_subject_for_post_type($subject, $comment_id) {
$comment = get_comment($comment_id);
$post_id = $comment->comment_post_ID;
$post_type = get_post_type($post_id);
if ($post_type == 'product') {
$subject = "Product Review: $subject";
}
return $subject;
}
add_filter('comment_moderation_subject', 'custom_subject_for_post_type', 10, 2);
Removing brackets from the subject
Remove brackets from the email subject.
function remove_brackets_from_subject($subject, $comment_id) {
$subject = str_replace('[', '', $subject);
$subject = str_replace(']', '', $subject);
return $subject;
}
add_filter('comment_moderation_subject', 'remove_brackets_from_subject', 10, 2);