开启评论的WordPress网站默认会在有用户提交评论后,发邮件给管理员;出于网站安全考虑我们还会把评论设置为需要通过审核才能发布,这种情况下评论通知邮件会变成“有评论需要审核”通知邮件。这两个设置在后台的Setting – Discussion下。如果你的网站比较“热闹”,你就会经常收到评论通知邮件。如果你不想这样被频繁打扰,也可以去掉这两个勾选:
这两个邮件会发送到网站的超级管理员邮箱里,也就是你安装WordPress的时候设置的第一个邮箱,可在Setting – General页面更改:
如果想更换通知邮件的收件人,但又不想更新超级管理员的邮箱,应该怎么做呢?有人会推荐你用插件解决。要我说,这么小的需求,岂不是几行代码的事,何必动不动又要去找插件呢?WordPress的修改,无非是找到正确的狗子,大部分问题都可以迎刃而解。
本次用到的两个钩子叫“comment_moderation_recipients”和“comment_notification_recipients”,从字面上看就对应着第一张图的两个选项,很好理解。要修改收件邮箱,真的是短短几行代码就解决了:
1 2 3 4 5 6 7 | //change comment notice email //from: https://blog.brain1981.com add_filter('comment_moderation_recipients', 'brain1981_comment_notice_emails', 11, 2 ); add_filter('comment_notification_recipients', 'brain1981_comment_notice_emails', 11, 2); function brain1981_comment_notice_emails($emails, $comment_id) { return array('your@email.com');//在这行替换邮箱地址 } |
如果你希望设置多个收件箱,以上代码第6行也可以写成:
return array('your@email1.com','your@email2.com','your@email3.com'); |
如果你的网站是一个多人博客站点,有多个作者发布文章,希望由作者自行审核评论的,你也可以把作者邮箱设置为收件箱,以下是完整代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | //change comment notice email with author's email //from: https://blog.brain1981.com add_filter('comment_moderation_recipients', 'brain1981_comment_notice_emails', 11, 2 ); add_filter('comment_notification_recipients', 'brain1981_comment_notice_emails', 11, 2); function brain1981_comment_notice_emails($emails, $comment_id) { $comment = get_comment( $comment_id ); $post = get_post( $comment->comment_post_ID ); $user = get_user_by( 'id', $post->post_author ); // Return only the post author if the author can modify. if ( user_can( $user->ID, 'edit_published_posts' ) && ! empty( $user->user_email ) ) { $emails = array( $user->user_email ); } return $emails; } |
本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.brain1981.com/3025.html。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。
本站记录了近几年的工作中遇到的一些技术问题和解决过程,“作品集”还收录了本人的大部分作品展示。除了本博客外,我们的工作室网站 – JennyStudio,内有更多作品回顾和展示。
您也可以扫描左边的二维码,关注我们的微信公众号,在微信上查看我们的案例。
您也可以扫描左边的二维码,关注我们的微信公众号,在微信上查看我们的案例。