WordPress 有人回复时邮件通知的实现方法 SAE 移植版

WordPress 有人回复时邮件通知的实现方法 SAE 移植版,第1张

WordPress有人回复时邮件通知的实现方法SAE移植版

常用的Wordress电子邮件通知功能使用起来非常简单

1,先配置一下您的SMTP账户的用户名和密码。
2,将下面的内容粘贴到当前主题的functions.php中即可,注意别破坏了原来的结构就行。(或者直接建一个文件,将代码拷贝进去,然后在functions.php中引用该文件即可。)

复制代码代码如下:
<?php
/**
*EmailMeWithTheReplayForSAE
*
*Usage:将此段代码粘贴到当前主题的functions.php文件中即可。
*或者将此文件放进主题目录,在functions.php中包含此文件
*
*基于comment_mail_notifyv1.0bywillinkan.http://kan.willin.org/?p=1295(已失效)
*changelist
*2012-03-29
*version0.1
*
*2012-04-29
*version0.2
*edit$subjecttothiscode
*$subject='您的评论'.mb_substr(strip_tags(get_comment($parent_id)->comment_content),0,10,'utf-8').'有了回应-'.get_option("blogname");
*
*
*@authorIT不倒翁,willinkan
*@copyright(C)2011,2012JustUseIt!
*@linkyungbo.com
*@version0.2
*/
functioncomment_mail_notify($comment_id){
//换行标志
$lineBreak="\n";
//缩进标志
$tabBreak="\t";
$admin_notify='1';//areyouwillingtoreceivetheemail?1isyes.
$admin_email=get_bloginfo('admin_email');//youcanchange$admin_emailtoyoure-mailoptionaly.
$comment=get_comment($comment_id);
$comment_author_email=trim($comment->comment_author_email);
$parent_id=$comment->comment_parent?$comment->comment_parent:'';
global$wpdb;
if($wpdb->query("Describe{$wpdb->comments}comment_mail_notify")=='')
$wpdb->query("ALTERTABLE{$wpdb->comments}ADDCOLUMNcomment_mail_notifyTINYINTNOTNULLDEFAULT0;");
if(($comment_author_email!=$admin_email&&isset($_POST['comment_mail_notify']))||($comment_author_email==$admin_email&&$admin_notify=='1'))
$wpdb->query("UPDATE{$wpdb->comments}SETcomment_mail_notify='1'WHEREcomment_ID='$comment_id'");
$notify=$parent_id?get_comment($parent_id)->comment_mail_notify:'0';
$spam_confirmed=$comment->comment_approved;
if($parent_id!=''&&$spam_confirmed!='spam'&&$notify=='1'){
$wp_email='no-reply@'.preg_replace('#^www\.#','',strtolower($_SERVER['SERVER_NAME']));//e-mail
$to=trim(get_comment($parent_id)->comment_author_email);
$subject='您的评论'.mb_substr(strip_tags(get_comment($parent_id)->comment_content),0,10,'utf-8').'有了回应-'.get_option("blogname");
//邮件主体内容
//估计新浪考虑到安全问题,全部用htmlspecialchars()过滤了,所以不要使用html标记
$message='您好,'.trim(get_comment($parent_id)->comment_author).$lineBreak;
$message.='您曾在'.get_option("blogname").'留言:'.$lineBreak;
$message.=$tabBreak.trim(get_comment($parent_id)->comment_content).$lineBreak;
$message.=trim($comment->comment_author).'回复了您:'.$lineBreak;
$message.=$tabBreak.trim($comment->comment_content).$lineBreak;
$message.='您可以点击'.get_comment_link($parent_id).'查看具体情况'.$lineBreak;
$message.=$lineBreak;
$message.='(系统邮件,请不要直接回复)'.$lineBreak;
$message.=get_option('blogname').$lineBreak;
$message.=home_url().$lineBreak;
/*SAE配置位置*/
$saeTo=$to;
$saeSubject=$subject;
$saeMessage=$message;
$saeSMTPUser='';//SMTP邮箱
$saeSMTPPass='';//SMTP密码
$mail=newSaeMail();
$result=$mail->quickSend($saeTo,$saeSubject,$saeMessage,$saeSMTPUser,$saeSMTPPass);
//if($result===false)
//var_dump($mail->errno(),$mail->errmsg());
}
}
add_action('comment_post','comment_mail_notify');
/*Autochecked*/
functionadd_checkbox(){
echo'<inputtype="checkbox"name="comment_mail_notify"id="comment_mail_notify"value="comment_mail_notify"checked="checked"/><labelfor="comment_mail_notify">有人回复我时邮件通知我</label>';
}
add_action('comment_form','add_checkbox');

代码最近更新日期,2012-04-29

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/772651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存