The comment_notification_subject WordPress PHP filter allows you to modify the subject of the comment notification email sent to the post author.
Usage
add_filter('comment_notification_subject', 'your_custom_function', 10, 2); function your_custom_function($subject, $comment_id) { // your custom code here return $subject; }
Parameters
- $subject (string): The comment notification email subject.
- $comment_id (string): Comment ID as a numeric string.
More information
See WordPress Developer Resources: comment_notification_subject
Examples
Add a prefix to the email subject
Add a custom prefix to the comment notification email subject.
add_filter('comment_notification_subject', 'add_prefix_to_subject', 10, 2); function add_prefix_to_subject($subject, $comment_id) { $subject = '[My Blog] ' . $subject; return $subject; }
Add the post title to the email subject
Include the post title in the comment notification email subject.
add_filter('comment_notification_subject', 'add_post_title_to_subject', 10, 2); function add_post_title_to_subject($subject, $comment_id) { $comment = get_comment($comment_id); $post = get_post($comment->comment_post_ID); $subject = $subject . ' - ' . $post->post_title; return $subject; }
Change the email subject based on comment type
Modify the comment notification email subject based on the type of the comment (e.g., trackback or pingback).
add_filter('comment_notification_subject', 'change_subject_based_on_type', 10, 2); function change_subject_based_on_type($subject, $comment_id) { $comment = get_comment($comment_id); if ($comment->comment_type == 'trackback') { $subject = 'New trackback on your post'; } elseif ($comment->comment_type == 'pingback') { $subject = 'New pingback on your post'; } return $subject; }
Add the commenter’s name to the email subject
Include the name of the person who left the comment in the comment notification email subject.
add_filter('comment_notification_subject', 'add_commenter_name_to_subject', 10, 2); function add_commenter_name_to_subject($subject, $comment_id) { $comment = get_comment($comment_id); $subject = $subject . ' by ' . $comment->comment_author; return $subject; }
Remove the blog name from the email subject
Remove the blog name from the comment notification email subject.
add_filter('comment_notification_subject', 'remove_blog_name_from_subject', 10, 2); function remove_blog_name_from_subject($subject, $comment_id) { $blog_name = sprintf( __('[%1$s]'), wp_specialchars_decode(get_option('blogname'), ENT_QUOTES) ); $subject = str_replace($blog_name, '', $subject); return $subject; }