非插件实现WordPress评论邮件回复通知的功能

本文概要:非插件实现博主回复访客对Wordpress博文评论的邮件通知的功能教程简介

友情提示→修改代码前请您做好备份

很多使用Wordpress的博主对于插件是深恶痛绝的,因为插件不仅会拖累网站加载速度,还会增加服务器负担,过多的插件显然不是一个好的选择,因此介绍修改代码的方式增加wordpress功能是多数博主的首选!

首先在主题的functions.php文件的最后查找以下代码

//全部设置结束
?>

在这段之前插入下面的代码:

//评论邮件通知
function comment_mail_notify($comment_id) {
  $admin_email = get_bloginfo ('admin_email'); // $admin_email 可改為你指定的 e-mail.
  $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'])); // 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; border-radius:5px;">
      <p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p>
      <p>您曾在 [' . get_option("blogname") . '] 的文章 《' . get_the_title($comment->comment_post_ID) . '》 上发表评论:<br />'
       . nl2br(get_comment($parent_id)->comment_content) . '</p>
      <p>' . trim($comment->comment_author) . ' 给您的回复如下:<br />'
       . nl2br($comment->comment_content) . '<br /></p>
      <p>您可以点击 <a href="' . htmlspecialchars(get_comment_link($parent_id)) . '">查看回复的完整內容</a></p>
      <p>欢迎再次光临 <a href="' . get_option('home') . '">' . get_option('blogname') . '</a></p>
      <p>(此郵件由系統自動發出, 請勿回覆.)</p>
    </div>';
	$message = convert_smilies($message);
    $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, '<br/> ' , $subject, $message; // for testing
  }
}
add_action('comment_post', 'comment_mail_notify');

点击保存后,刷新网页后博主可自行测试……效果如下图所示

PS:若修改functions.php文件后出现HTTP500错误,则可按照以下方法修复(此段内容转载自网络

1、php文件属性错误,将重新上传的functions.php的权限改为644

2、web根目录权限错误,将根目录的权限由错误的777改成755

3、.htaccess文件错误,首先备份原来的.htaccess文件,新建一个空的.htaccess或者编辑服务器上的原文件清空其中内容,修改属性为0666,然后在wordpress后台的设置–固定链接管理中,更新永久链接!

本站文章由垃圾站博主编辑整理,请您在转载后保留原文链接!

本文固定链接: http://www.lajiz.cn/511.html | 垃圾站

该文章由 sdujane 于2012年11月25日发表在 WP教程 分类下, 访客可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客!
原创文章,转载请注明: 非插件实现WordPress评论邮件回复通知的功能 | 垃圾站
关键字: ,

非插件实现WordPress评论邮件回复通知的功能:目前有63 条留言

  1. 26楼
    潇湘:

    还不懂 要慢慢研究这个东东

    2014-05-23 上午 9:44 [回复]
  2. 25楼
    尘埃哥:

    我的服务器貌似不能用mail函数,上次你评论了个元芳我没有看法我给你回复收到了吗?话说这文章对我的不支持mail的主机有帮助吗

    2012-11-29 下午 8:22 [回复]
    • admin:

      不支持mail函数就没办法了,但是可以使用插件的!

      2012-11-29 下午 9:20 [回复]
  3. 24楼
    astray:

    但插件相对于懒人来说,始终是最省事的

    2012-11-28 上午 10:07 [回复]
    • admin:

      插件的确省事不少啊,但也不要太多

      2012-11-28 下午 1:05 [回复]
  4. 这个我喜欢,当时是因为服务器不支持,才用多说的…不过现在一直用下去了

    2012-11-28 上午 12:22 [回复]
    • admin:

      现在差不多服务器应该支持mail函数了

      2012-11-28 下午 1:04 [回复]
  5. 话说,你这个 验证码是怎么弄的呀 ? 用的是插件? 还是代码?

    2012-11-27 下午 12:07 [回复]
    • admin:

      是代码做的,你在我的博客里搜一下“验证码”

      2012-11-27 下午 12:08 [回复]
      • 哈哈,,主要是你的站名 ,很容易当垃圾留言呀!

        2012-11-27 下午 3:55 [回复]
        • admin:

          名字太给力了……只能这么说

          2012-11-27 下午 5:35 [回复]
  6. 呵呵,我用了多说评论,所以这个插件就不需要了!!

    2012-11-27 下午 12:07 [回复]
    • admin:

      多说总把我拉黑,我也不用它……

      2012-11-27 下午 12:08 [回复]

发表评论

快捷键:Ctrl+Enter