免插件仅代码实现wordpress评论回复邮件

本文已经作废,最新在 http://devework.com/code-to-acheive-wordpress-comment-reply.html 

今天继续来我们的“免插件仅代码”系列!说明一下,这些用代码实现与插件的效果的方法不一定适合于所有的主题,如果不适合,只能回到原点用插件了。在我的主题上是可以的,而且我在这里的代码实现的方法都已经在我的主题上成功过。原则上,所有的主题都可以用代码代替插件的,不可以的话只能自己琢磨或者用回插件。

许多wordpress博主为增加与读者的互动,从而获得更加多的“回头客”,常常在评论上启用一个“评论回复邮件”的功能。许多使用插件来实现,但Jeff今天在这里用一段代码就可以实现了,方法如下:

打开主题的funtions.php文件,在最后输入如下代码:

  //comment_mail_notify(所有的回复都会发邮件通知)
function comment_mail_notify($comment_id) {
$comment = get_comment($comment_id);
$parent_id = $comment->comment_parent ? $comment->comment_parent : '';
$spam_confirmed = $comment->comment_approved;
if (($parent_id != '') && ($spam_confirmed != 'spam')) {
$wp_email = 'admin@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));//发件人e-mail地址
$to = trim(get_comment($parent_id)->comment_author_email);
$subject = '['.get_option("blogname").']您在《'.get_the_title($comment->comment_post_ID).'》上的留言有了新回复!';
$message = '

'.trim(get_comment($parent_id)->comment_author).', 您好!

这是您在《'.get_the_title($comment->comment_post_ID).'》中的留言:
'
.trim(get_comment($parent_id)->comment_content).'

以下是'.trim($comment->comment_author).' 给您的回复:
'
.trim($comment->comment_content).'


您可以点击这里查看回复的完整内容。

感谢你的评论!欢迎再度光临 ' . get_option('blogname').'!

(此邮件由系统自动发出,请不要回复此电子邮件。)

© 2012 Powered by Jeff ’s balcony ---探讨电脑知识,分享网络资源---

';
$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 );
//echo 'mail to ', $to, '
' , $subject, $message; // for testing
}
}
add_action('comment_post', 'comment_mail_notify');?>

 

下面是回复邮件的效果:


 

访客名, 您好!

这是您在《文章名》中的留言:
xxxxx

以下是Jeff 给您的回复:
xxxx

您可以点击这里查看回复的完整内容

感谢你的评论!欢迎再度光临 你的博客名

(此邮件由系统自动发出,请不要回复此电子邮件。)

© 2012 Powered byJeff ’s balcony 


也许你已经看到了,这段代码是所有的回复都会发邮件通知,使用时候需注意。

现在又减少一个插件了!恩,速度快了点(心理作用~~)。