WordPress,非插件實現評論者回復郵件通知的代碼分享

公元2011年10月24日沒人鳥我喲打醬油看熱鬧的有:2,273 views

WordPress,非插件實現評論者回復郵件通知的代碼分享

雖然很多插件都能夠實現,但是很多同學還是很喜歡原生態的代碼版的,現在就分享個代碼版的給大家分享下,原理 是什麼玩意俺也不知道,反正就是知道直接寫入就可以使用的,所以也就沒必要深入研究了,呵呵!

直接上代碼,使用方法直接在主題的模板函數 (functions.php)裏添加即可,不過可能要求主機開啟了mail函數,話說現在很多主機都有開啟這個功能,基本可以忽略的,代碼如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* comment_mail_notify v1.0 by willin kan. (無勾選欄) */
	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)) {
$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_the_title($comment->comment_post_ID) . '》的留言:<br />'
		   . trim(get_comment($parent_id)->comment_content) . '</p>
		  <p>' . trim($comment->comment_author) . ' 給你的回復:<br />'
		   . trim($comment->comment_content) . '<br /></p>
<p>你可以點擊<a href="' . htmlspecialchars(get_comment_link($parent_id,
 array('type' => 'comment'))) . '">查看完整內容</a></p>
<p>歡迎再度光臨<a href="' . get_option('home') . '">' . get_option('blogname') . '</a></p>
 <p>(此郵件由系統自動發出, 請勿回復.)</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 );
		//echo 'mail to ', $to, '<br/> ' , $subject, $message; // for testing
	  }
	}
	add_action('comment_post', 'comment_mail_notify');

以上的代碼復制進去即可,OK,可以猛回復去測試了,呵呵!

大概就是這樣,收工!Over!邪惡的笑一個!

對了,忘記說了,這個是有willin大師寫的,有問題可以訪問大師的博客,多多支持,GO