本文作者:DurkBlue

WP实现评论回复demo

DurkBlue2020-02-191874
WP实现评论回复demo摘要: 评论回复后会邮件通知用户,我觉得这是一件有意义的事情,对用户以及管理员来说,在互联网+时代,这是很有必要的。添加回复邮件通知用户代码/* 邮件回复通知*/function...

评论回复后会邮件通知用户,我觉得这是一件有意义的事情,对用户以及管理员来说,在互联网+时代,这是很有必要的。

添加回复邮件通知用户代码

  1. /* 邮件回复通知*/

  2. function comment_mail_notify($comment_id) {

  3.   $comment = get_comment($comment_id);

  4.   $parent_id = $comment->comment_parent ? $comment->comment_parent : '';

  5.   $spam_confirmed = $comment->comment_approved;

  6.   if (($parent_id != '') && ($spam_confirmed != 'spam')) {

  7.     $wp_email = 'xxxxx@163.com'; //e-mail 发出点, no-reply 可改为可用的 e-mail.

  8.     $to = trim(get_comment($parent_id)->comment_author_email);

  9.     $subject = '您在 [' . get_option("blogname") . '] 的留言有了回复';

  10.     $message = '

  11.     <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;">

  12.       <p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p>

  13.       <p><strong>您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:</strong><br />'

  14.        . trim(get_comment($parent_id)->comment_content) . '</p>

  15.       <p><strong>' . trim($comment->comment_author) . ' 给您的回复:</strong><br />'

  16.        . trim($comment->comment_content) . '<br /></p>

  17.       <p>您可以点击 <a href="' . htmlspecialchars(get_comment_link($parent_id)) . '" target="_blank">查看回复完整內容</a></p>

  18.       <p>欢迎再度光临 <a href="http://www.yelook.com" target="_blank">' . get_option('blogname') . '</a></p>

  19.       <p>(此邮件由系统自动发送,请勿回复.)</p>

  20.     </div>';

  21.       $from = "From: \"" . get_option('blogname') . "\" <$wp_email>";

  22.       $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";

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

  24.   }

  25. }

  26. add_action('comment_post', 'comment_mail_notify');

以上代码添加到functions.php中(警告!如果主题自带了评论回复代码,再添加此段代码将会导致后台出现空白现象,因为不能同时出现两个邮件通知用户代码,如果出现冲突,需要进入服务器把更改的文件复原就会恢复原样

因为本人用的知更鸟主题,所以主题中自带了回复评论的代码,在主题下notify.php中,但是评论样式不好看,所以编辑了一下样式代码,可以参考一下:

  1. <?php

  2. function comment_mail_notify($comment_id) {

  3.     $admin_notify = '1'; // admin 要不要收回复通知 ( '1'=要 ; '0'=不要 )

  4.     $admin_email = get_bloginfo ('admin_email');

  5.     $comment = get_comment($comment_id);

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

  7.     $parent_id = $comment->comment_parent ? $comment->comment_parent : '';

  8.     global $wpdb;

  9.     if ($wpdb->query("Describe {$wpdb->comments} comment_mail_notify") == '')

  10.     $wpdb->query("ALTER TABLE {$wpdb->comments} ADD COLUMN comment_mail_notify TINYINT NOT NULL DEFAULT 0;");

  11.     if (($comment_author_email != $admin_email && isset($_POST['comment_mail_notify'])) || ($comment_author_email == $admin_email && $admin_notify == '1'))

  12.     $wpdb->query("UPDATE {$wpdb->comments} SET comment_mail_notify='1' WHERE comment_ID='$comment_id'");

  13.     $notify = $parent_id ? get_comment($parent_id)->comment_mail_notify : '0';

  14.     $spam_confirmed = $comment->comment_approved;

  15.     if ($parent_id != '' && $spam_confirmed != 'spam' && $notify == '1') {

  16.         $wp_email = 'haohaitao28@163.com'; // e-mail 发出点, no-reply 可改为可用的 e-mail.

  17.         $to = trim(get_comment($parent_id)->comment_author_email);

  18.         $subject = '您在 [' . get_option("blogname") . '] 的留言有了新回复';

  19.         $message = '

  20.         <p style="color: #4F4F4F;font-size:15px;line-height:24px;font-weight: bolder;">' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p>

  21.                 <p style="color: #6e6e6e;font-size:13px;line-height:24px;">您在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />

  22.                 <p style="color: #6e6e6e;font-size:13px;line-height:24px;padding:10px 20px;background:#f8f8f8;margin:0px">'. trim(get_comment($parent_id)->comment_content) . '</p>

  23.                 <p style="color: #4F4F4F;font-size:15px;line-height:24px;font-weight: bolder;">' . trim($comment->comment_author) . ' 给你的回复:<br />

  24.                 <p style="color: #6e6e6e;font-size:13px;line-height:24px;padding:10px 20px;background:#f8f8f8;margin:0px">'. trim($comment->comment_content) . '</p>

  25.                 <p style="color: #6e6e6e;font-size:13px;line-height:24px;">你可以点击<a href="' . htmlspecialchars(get_comment_link($parent_id)) . '">查看完整回复內容</a></p>

  26.                 <p style="color: #6e6e6e;font-size:13px;line-height:24px;">欢迎您再度光临<a href="' . home_url() . '">' . get_option('blogname') . '</a>!</p>

  27.         <p style="color: #6e6e6e;font-size:13px;line-height:24px;">(此邮件由系统自动发出, 请勿回复。)</p>';

  28.         $from = "From: \"" . get_option('blogname') . "\" <$wp_email>";

  29.         $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";

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

  31.     }

  32. }

  33. add_action('comment_post', 'comment_mail_notify');

注意!代码中的邮箱地址以及网站地址要改成自己的!

此篇文章由DurkBlue博客申请发布,转载吧请注明来处
文章投稿或转载声明

来源:DurkBlue版权归原作者所有,转载请保留出处。本站文章发布于 2020-02-19
温馨提示:文章内容系作者个人观点,不代表DurkBlue博客对其观点赞同或支持。

赞(0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享