wordpress评论回复邮件无需插件代码实现方式

【重点推荐】2018年超叼项目,每天10分钟,轻松赚500+,点击这里加入


wordpress网站自带评论,当用户评论被回复是,默认情况下,是不会发送邮件给原来的评论者的。需要增加一段代码才能实现评论回复邮件。这种小功能有很好的提高用户体验,增加网站的流量。当然也有专门的插件来实现这个功能,这里只说代码版本

1,所有回复都自动回复邮件

  1. /* comment_mail_notify v1.0 by willin kan. (所有回覆都發郵件) */
  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 = 'no-reply@' . preg_replace('#^www\.#', ''strtolower($_SERVER['SERVER_NAME'])); //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; border-radius:5px;">
  12.       <p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p>
  13.       <p>您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />'
  14.        . trim(get_comment($parent_id)->comment_content) . '</p>
  15.       <p>' . trim($comment->comment_author) . ' 給您的回應:<br />'
  16.        . trim($comment->comment_content) . '<br /></p>
  17.       <p>您可以點擊 <a href="' . htmlspecialchars(get_comment_link($parent_id)) . '">查看回應完整內容</a></p>
  18.       <p>歡迎再度光臨 <a href="' . get_option('home') . '">' . 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.     //echo 'mail to ', $to, '<br/> ' , $subject, $message; // for testing
  25.   }
  26. }
  27. add_action('comment_post', 'comment_mail_notify');
  28. // -- END ----------------------------------------

2,由用户来决定是否要收到邮件

  1. /* comment_mail_notify v1.0 by willin kan. (有勾選欄, 由訪客決定) */
  2. function comment_mail_notify($comment_id) {
  3.   $admin_notify = '1'; // admin 要不要收回覆通知 ( '1'=要 ; '0'=不要 )
  4.   $admin_email = get_bloginfo ('admin_email'); // $admin_email 可改為你指定的 e-mail.
  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 = 'no-reply@' . preg_replace('#^www\.#', ''strtolower($_SERVER['SERVER_NAME'])); // e-mail 發出點, no-reply 可改為可用的 e-mail.
  17.     $to = trim(get_comment($parent_id)->comment_author_email);
  18.     $subject = '您在 [' . get_option("blogname") . '] 的留言有了回應';
  19.     $message = '
  20.     <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;">
  21.       <p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p>
  22.       <p>您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />'
  23.        . trim(get_comment($parent_id)->comment_content) . '</p>
  24.       <p>' . trim($comment->comment_author) . ' 給您的回應:<br />'
  25.        . trim($comment->comment_content) . '<br /></p>
  26.       <p>您可以點擊 <a href="' . htmlspecialchars(get_comment_link($parent_id)) . '">查看回應完整內容</a></p>
  27.       <p>歡迎再度光臨 <a href="' . get_option('home') . '">' . get_option('blogname') . '</a></p>
  28.       <p>(此郵件由系統自動發出, 請勿回覆.)</p>
  29.     </div>';
  30.     $from = "From: \"" . get_option('blogname') . "\" <$wp_email>";
  31.     $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";
  32.     wp_mail( $to$subject$message$headers );
  33.     //echo 'mail to ', $to, '<br/> ' , $subject, $message; // for testing
  34.   }
  35. }
  36. add_action('comment_post', 'comment_mail_notify');
  37. /* 自動加勾選欄 */
  38. function add_checkbox() {
  39.   echo '<input type="checkbox" name="comment_mail_notify" id="comment_mail_notify" value="comment_mail_notify" checked="checked" style="margin-left:20px;" /><label for="comment_mail_notify">有人回覆時郵件通知我</label>';
  40. }
  41. add_action('comment_form', 'add_checkbox');
  42. // -- END ----------------------------------------

2,

相关阅读:


来源:(QQ/微信:8184680) 本文版权归海涛网赚和原作者所有,未经许可不得转载。

本文链接: http://www.haitaoseo.com/6460.html

您可以选择一种方式赞助本站

支付宝转账赞助

支付宝扫一扫赞助

微信钱包扫描赞助

海涛