WordPress 评论通过审核后邮件通知评论人、完美实现“评论回复邮件通知”功能、实现评论回复邮件通知
前面品自行博客介绍过完美解决WordPress评论没有邮件提醒的问题,但是细心的朋友可能会发现,虽然解决了访客评论提醒管理员的功能,但管理员批准评论或者回复评论评论者照样还是得不到通知的,这个就不是太人性化,因为品自行博客有些分享的有些资源是评论可见,但是评论是必须要经过本人人工审核通过以后才可以显示,才可以看到分享的资源的。为了实现批准评论邮件通知评论者的功能,品自行博客提供以下两种方法:
第一种方法:插件Comment Approved
下载地址:
Subject和Message按照下面内容根据自己的博客适当修改即可,代码有两个变量,name:评论者名字,permalink:评论的地址:
[WP主题站]你的评论已被批准 Hi [name], 谢谢你的评论!它已经被批准显示,如果你想要查看,请点击下面链接 [permalink]
Comment Approved插件设置按照上图设置,Enable comment approved message和Make the checkbox checked by default on the comment form这两个选项都勾选上。
Make the checkbox checked by default on the comment form,这个选项不勾选的话会在网页评论区会出现下图的Notify me by email when the comment gets approved(意思就是评论被批准的话邮件通知我),评论者可以选择是否接受邮件提醒,我们如果在后台将Make the checkbox checked by default on the comment form这个选项勾选就表示默认的会通知评论者。
插件设置好以后,测试发送以下邮件,如果评论者收到如下的邮件就表示ok了。
品自行博客用Comment Approved插件没成功,不知道是什么原因,大家自己尝试一下,实在不行就用第二种方法,只需要简单的修改主题目录下functions文件就可以搞定,品自行博客用更改functions文件的方法成功搞定这个问题。
第二种方法:更改functions.php代码
将以下代码添加到WP主题目录下functions.php文件即可。
<?php // File Security Check if ( ! defined( 'ABSPATH' ) ) { exit; } require get_template_directory() . '/inc/theme-setup.php'; // 自定义代码加到此行下面 /** * WordPress 评论通过审核后邮件通知评论人 * https://www.pinzixing.com/ */ add_action('comment_unapproved_to_approved', 'wpdx_comment_approved'); function wpdx_comment_approved($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="' . get_comment_link($comment->comment_ID) . '" target="_blank">查看您的评论</a> | <a href="' . $post_link . '#comments" target="_blank">查看其他评论</a> | <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"); } }
用这种方法修改完成,评论者收到的邮件提醒如下:
评论