[WordPress] Gửi email thông báo nếu có ai đó trả lời bình luận của bạn

Mặc định trong WordPress sẽ không có tính năng gửi email cho người dùng nếu có ai đó trả lời bình luận, có thể nói đây là 1 thiếu sót rất lớn cho 1 CMS lớn nhất thế giới này, tuy nhiên để thêm tính năng này cũng khá đơn giản, bạn có cần thêm code mình cung cấp dưới đây vào file functions.php là xong, bạn đọc tiếp phía dưới để biết cách áp dụng nha.

Hình ảnh ở dưới đây là demo

Cụ thể nếu user bình luận, tranh luận trong 1 bài viết nào đó và có ai đó trả lời bình luận của họ thì sẽ có email notice để người đó có thể xem và theo dõi.

Bạn nên cài đặt SMTP để gửi thư thay vì gửi thư mặc định từ WP

Xem qua cách cài đặt SMTP

Áp dụng code như mình đã nói ở trên, bạn chỉ cần copy code này dán vào file functions.php là xong. bạn có thể xem qua

Nếu bạn không rành hoặc gặp khó khăn đừng ngần ngại chat với chúng tôi qua zalo 0868017791 để được hỗ trợ miễn phí.

function vutruso_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 = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));
    $to = trim(get_comment($parent_id)->comment_author_email);
    $subject = 'Bình luận mới trong [' . get_option("blogname") . ']';
    $comment_link = get_comment_link($comment_id);
    // Convert line breaks to a single <br> tag
    $formatted_content = str_replace("\n", "<br>", esc_html(trim($comment->comment_content)));

    $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;max-width: 50%;">
      <p>Xin chào ' . esc_html(trim(get_comment($parent_id)->comment_author)) . '</p>
      <p>Có <strong>' . esc_html(trim($comment->comment_author)) . '</strong> đã trả lời bạn với nội dung:</p>
	  <p style="border-left:4px solid #d71187;background: #e3e5e7;padding: 10px;border-radius: 6px;">
	  ' . $formatted_content . '</p>
      <p>Bạn có thể xem đầy đủ nội dung và phản hồi <a href="' . esc_url($comment_link) . '">tại đây</a></p>
      <p>(Email này được hệ thống tự động gửi đi, vui lòng không trả lời.)</p>
    </div>';

    $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);
  }
}
add_action('comment_post', 'vutruso_comment_mail_notify');

Xin cảm ơn đã đọc bài viết.

5/5 - (96 votes)

donate Nếu bạn thấy bài viết có ích bạn có thể donate cho team hoặc chia sẻ bài viết này. Ngoài ra bạn có thể yêu cầu thêm bài viết tại đây
vutruso

Vũ Trụ Số chuyên cung cấp hosting cho WordPress, dịch vụ thiết kế website, quản trị website cho doanh nghiệp, dịch vụ quảng cáo Google, quảng cáo Facebook, các dịch vụ bảo mật website WordPress, tăng tốc website WordPress

Bài viết liên quan