在主题函数修改系统通知邮件 美化篇

我觉得有些人说的也对,总贴代码,可能滚去github比较好,但是我爱wordpress,我不会离开这里

/**系统原本定义的mail类型不支持HTML,所以需要挂一个新钩子:comment_notification_headers**/
function xhd_mail2admin_2() {
	if ( '' == $comment->comment_author ) {
		$from = "From: "$blogname" <$wp_email>";
		if ( '' != $comment->comment_author_email )
			$reply_to = "Reply-To: $comment->comment_author_email";
	} else {
		$from = "From: "$comment->comment_author" <$wp_email>";
		if ( '' != $comment->comment_author_email )
			$reply_to = "Reply-To: "$comment->comment_author_email" <$comment->comment_author_email>";
	}
	$message_headers = "$fromn"
		. "Content-Type: text/html; charset="" . get_option('blog_charset') . ""n";
		return $message_headers;
}
add_filter('comment_notification_headers', 'xhd_mail2admin_2', 10, 2 );

/**在昨天代码基础上的美化**/
 function xhd_mail2admin( $notify_message, $comment_id ) {
	$comment = get_comment( $comment_id );
	$post    = get_post( $comment->comment_post_ID );
	$author  = get_userdata( $post->post_author );
	if ( $comment->user_id == $post->post_author )
		return false;
	if ( $post->post_author == get_current_user_id() )
		return false;
	if ( '' == $author->user_email )
		return false;
	$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);

	 
	$IPURL  = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$comment->comment_author_IP;
	$json = file_get_contents($IPURL);
	$json = json_decode($json, true);
	$json = $json["country"].$json["province"].$json["city"].$json["district"].$json["isp"];

	 
	$notify_message  = sprintf( __( '<div style="font: 12px 微软雅黑;width: 600px;margin: 20px auto;word-break: break-all;"><table border="0" style="font: 15px 微软雅黑;border-collapse: collapse;width: 600px;margin: 20px auto;"><tbody><tr><td style="text-align: center;padding: 8px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;" colspan="2">您的文章《%s》有新评论' ), $post->post_title ) . '</td>';
	$notify_message .= sprintf( __('</tr><tr><td style="padding: 8px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;width: 70px;">昵称 :</td><td style="padding: 8px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;"> %s '), $comment->comment_author ) . '</td>';
	$notify_message .= sprintf( __('</tr><tr><td style="padding: 6px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;">IP :</td><td style="padding: 6px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;"> %1$s ( %2$s ) '), $json,  $comment->comment_author_IP ) . '</td></tr><tr><td style="padding: 6px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;">';
	$notify_message .= sprintf( __('网站 :</td><td style="padding: 8px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;"> %s'), $comment->comment_author_url ) . '</td></tr><tr><td style="padding: 8px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;">';

	 
	$domain1 = $comment->comment_author_url ;
	$domain=substr($domain1,7);
	$startUrl = "http://toolbarqueries.google.com/tbr?client=navclient-auto&features=Rank&q=info:";
	$resultUrl = $startUrl.$domain."&ch=".app_hash_url($domain); 
	$array = get_headers($resultUrl,1); 
	if(!preg_match('/403/',$array[0])){
		$pageContent = file_get_contents($resultUrl);
		$pageRank = substr($pageContent,9);
 		$notify_message .= sprintf( __('PR : </td><td style="padding: 6px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;"> %s'), $pageRank ) . '</td></tr><tr><td style="padding: 6px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;">';
	} else {
		$notify_message .= __('PR : </td><td style="padding: 6px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;">0 ') . '</td></tr><tr><td style="padding: 6px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;">';
	}
		$notify_message .= __('<div>评论内容 :</td><td style="padding: 6px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;">')  . $comment->comment_content . '</td></tr><tr><td style="padding: 6px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;">';

	$notify_message .= sprintf( __('固定链接 :</td><td style="padding: 6px 15px;font: 15px 微软雅黑;border: 1px solid #ccc;"> %s'), get_comment_link($comment) ) . '</td></tr></tbody></table><br><div style="margin-left:10px">';

	if ( EMPTY_TRASH_DAYS )
		$notify_message .= sprintf( __('Trash it: %s'), admin_url("comment.php?action=trash&c=$comment_id") ) . "<br>";
	else
		$notify_message .= sprintf( __('Delete it: %s'), admin_url("comment.php?action=delete&c=$comment_id") ) . "<br>";
	$notify_message .= sprintf( __('Spam it: %s'), admin_url("comment.php?action=spam&c=$comment_id") ) . "<br></div></div>";

	return $notify_message;
}
add_filter( 'comment_notification_text', 'xhd_mail2admin', 10, 2 );

效果见上一篇附图

34 Comments

Name *

E-mail *

Website

  1. airoschou

    附图看不到的说,没用邮件通知的说。

  2. SEO博客

    这个主题简介的让我有点意外。。。

  3. 常阳时光

    额,效果图没了。。。

  4. 海景婚纱摄影

    支持一下博主

  5. 免费部落

    我的还没有美化过,看来也得用用了!

  6. 山炮印象

    附图看不到的说