非插件实现WordPress邮件回复评论

3,890
非插件实现WordPress邮件回复评论
  • 0.00 / 5 5
0.00分(0票)

该代码由willin kan提供,不少草根博客站长用了都说好!

柯南·道尔 作品在线阅读

“那个著名的手段高超的罪犯,在贼党中的名声犹如……”

“别说外行话,华生,”福尔摩斯不赞成地嘟囔着。

“我是想说,犹如在公众中一样默默无闻。”

————《福尔摩斯探案全集•恐怖谷》by 柯南·道尔

像许多真正的技术大师一样,willin kan为人十分地低调,导致一些正在用大师作品的人竟然没听说过他。willin kan的文章不多,但篇篇均是精华佳作,令我辈汗颜。在此向willin kan表示深深地谢意!

代码如下:

/* comment_mail_notify v1.0 by willin kan. (無勾選欄) */

function comment_mail_notify($comment_id) {

$admin_email = get_bloginfo (‘admin_email’);

$comment = get_comment($comment_id);

$comment_author_email = trim($comment->comment_author_email);

$parent_id = $comment->comment_parent ? $comment->comment_parent : ”;

$to = $parent_id ? trim(get_comment($parent_id)->comment_author_email) : ”;

$spam_confirmed = $comment->comment_approved;

if (($parent_id != ”) && ($spam_confirmed != ‘spam’) && ($to != $admin_email) && ($comment_author_email == $admin_email)) {

$wp_email = ‘no-reply@’ . preg_replace(‘#^www.#’, ”, strtolower($_SERVER[‘SERVER_NAME’]));

$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; 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>点击 <a href=”‘ . htmlspecialchars(get_comment_link($parent_id)) . ‘”>查看作者的回复</a></p>

<p>欢迎订阅 <a href=”http://feed.since1989.org”>新民智-独立,趣玩,进化生活。</a></p>

</div>’;

$from = “From: “” . get_option(‘blogname’) . “” <$wp_email>”;

$headers = “$fromnContent-Type: text/html; charset=” . get_option(‘blog_charset’) . “n”;

wp_mail( $to, $subject, $message, $headers );

//echo ‘mail to ‘, $to, ‘<br/> ‘ , $subject, $message; // for testing

}

}

add_action(‘comment_post’, ‘comment_mail_notify’);

说明:

  1. Willin Kan提供了三种代码,此为其中一个,并且我已修改,仅供读者参考,不推荐直接使用,您可去大师的主站下载原始代码。
  2. 该行代码$wp_email = ‘no-reply@’ . preg_replace(‘#^www.#’, ”, strtolower($_SERVER[‘SERVER_NAME’])); 用户需将no-reply修改为可用的邮箱地址;若不改,评论者会收到一封发自“no-reply@你的域名”的邮件。
  3. 自定义代码后,将此段代码插入到主题functions.php文件中合适位置。插入这动作,你熟悉的,相信不难。

喵~本文目前有5条留言,欢迎发表评论!

  1. 恩,我也是用这个的。

    [回复]
  2. 赶上地板鸟
    :

    你还用了Ajax评论吧。

    [回复]
  3. 板凳也不错
    :

    管它呢,不过现在的主题一般都内嵌了这样的功能!

    [回复]
  4. 传说中的沙发
    :

    可惜我用的不是嵌套回复~~

    [回复]

打破沉默,我来发表评论鸟~