只需要将下面的代码添加到当前主题的 functions.php 文件最后一个 ?> 的前面即可:
- /**
- * WordPress 评论被标注为垃圾评论后邮件通知对方
- * https://boke112.com/post/4210.html
- */
- function comment_spam_notify($comment){
- if (is_email($comment->comment_author_email)){
- $post_link = get_permalink($comment->comment_post_ID);
- $title = ‘您在【’ . get_bloginfo(‘name’) . ‘】的评论被标注为垃圾评论’;
- $body = ‘您在《<a href=“‘ . $post_link . ‘” target=“_blank” >’ . get_the_title($comment->comment_post_ID) . ‘</a>》中发表的评论被管理员标注为垃圾评论了!<br /><br />’;
- $body .= ‘<strong>您的评论:</strong><br />’;
- $body .= strip_tags($comment->comment_content) . ‘<br /><br />’;
- $body .= ‘您也可以<a href=“‘ . $post_link . ‘” target=“_blank”>再次阅读文章</a>然后再次评论!<br /><br />’;
- $body .= ‘欢迎再次光临【<a href=“‘ . get_bloginfo(‘url’) . ‘” target=“_blank” title=“‘ . get_bloginfo(‘description’) . ‘”>’ . get_bloginfo(‘name’) . ‘</a>】。’;
- $body .= ‘<br /><br />注:此邮件为系统自动发送,请勿直接回复’;
- @wp_mail($comment->comment_author_email, $title, $body, “Content-Type: text/html; charset=UTF-8”);
- }
- }
- add_action(‘comment_approved_to_spam’, ‘comment_spam_notify’);
- add_action(‘comment_unapproved_to_spam’, ‘comment_spam_notify’);
其中,代码中的邮件样式可自行调整,可以参照所使用主题的邮件提醒功能的样式进行修改。第 18 和第 19 行的意思就是把正常的评论标注为垃圾评论和把待审核的评论标注为垃圾评论时就发送邮件提醒给评论人。
说明:
- unapproved 为待审核的评论;spam 为垃圾评论;approved 为已审核也就是正常的评论;trash 为移到回收站的评论;这四种状态可以任意组合使用。
- comment_approved_to_spam,意思就是从正常评论到垃圾评论;
- comment_unapproved_to_spam,意思就是从待审核评论到垃圾评论;
- comment_unapproved_to_approved,意思就是从待审核评论到正常评论;
- comment_approved_to_trash,意思就是从正常评论到回收站评论。