2018年2月17日星期六

WordPress评论回复没有发送邮件怎么办?留言评论邮件通知免插件代码

原文链接:http://www.chenweiliang.com/cwl-636.html

WordPress评论回复没有发送邮件怎么办?


留言评论邮件通知免插件代码


一般外贸电商从业者,都是使用WordPress建站做网络推广,可能会出现评论留言无法收到回复通知的情况。


如果是这样,可以使用代码,免插件解决WordPress留言评论回复邮件通知问题。


将以下代码添加到WP主题的functions.php文件里:


/* 邮件通知 by 陈沩亮 */
function cwl_comment_mail_notify($comment_id)
$comment = get_comment($comment_id);//根据id获取这条评论相关数据
$content=$comment->comment_content;
//对评论内容进行匹配
$match_count=preg_match_all('/<a href="#comment-([0-9]+)?" rel="nofollow">/si',$content,$matchs);
if($match_count>0)//如果匹配到了
foreach($matchs[1] as $parent_id)//对每个子匹配都进行邮件发送操作
SimPaled_send_email($parent_id,$comment);

elseif($comment->comment_parent!='0')//以防万一,有人故意删了@回复,还可以通过查找父级评论id来确定邮件发送对象
$parent_id=$comment->comment_parent;
SimPaled_send_email($parent_id,$comment);
else return;

add_action('comment_post', 'cwl_comment_mail_notify');
function SimPaled_send_email($parent_id,$comment)//发送邮件的函数 by www.chenweliang.com
$admin_email = get_bloginfo ('admin_email');//管理员邮箱
$parent_comment=get_comment($parent_id);//获取被回复人(或叫父级评论)相关信息
$author_email=$comment->comment_author_email;//评论人邮箱
$to = trim($parent_comment->comment_author_email);//被回复人邮箱
$spam_confirmed = $comment->comment_approved;
if ($spam_confirmed != 'spam' && $to != $admin_email && $to != $author_email)
$wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])); // e-mail 发出点, no-reply 可改為可用的 e-mail.
$subject = '您在 [' . get_option("blogname") . '] 的留言有了回应';
$message = '<div style="background-color:#eef2fa;border:1px solid #d8e3e8;color:#111;padding:0 15px;-moz-border-radius:5px;-webkit-border-radius:5px;-khtml-border-radius:5px;">
<p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p>
<p>您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />'
. trim(get_comment($parent_id)->comment_content) . '</p>
<p>' . trim($comment->comment_author) . ' 给你的回复:<br />'
. trim($comment->comment_content) . '<br /></p>
<p>您可以点击 <a href="' . htmlspecialchars(get_comment_link($parent_id,array("type" => "all"))) . '">查看回复的完整內容</a></p>
<p>欢迎再度光临 <a href="' . get_option('home') . '">' . get_option('blogname') . '</a></p>
<p>(此邮件有系统自动发出, 请勿回复.)</p></div>';
$from = "From: \"" . get_option('blogname') . "\" <$wp_email>";
$headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";
wp_mail( $to, $subject, $message, $headers );





欢迎转载《WordPress评论回复没有发送邮件怎么办?留言评论邮件通知免插件代码
陈沩亮版权所有,转载请注明出处链接:http://www.chenweiliang.com/cwl-636.html


网站地址:http://www.chenweiliang.com/



我是陈沩亮,我的使命是帮助创业者、营销员和自媒体人用微信营销获取更大的成功和收获 ^_^



“不仅仅是总结网络营销干货,还分享用微信营销赚钱的方法!”



欲学更多秘技,请关注微信公众号:cwlblog
关注后回复关键字:80



可获取《超过80%不被人知的秘技》

没有评论:

发表评论