看了很多部落格都是把最新留言弄成大頭貼牆的顯示方式,有些是利用jquery的效果來達成,有的是利用Flash,但由於丫湯技術沒那麼高超,只能用簡單的代碼來達成,稍微研究了一下終於弄了出來,雖然沒有頂優,不過也算是不用外掛就實現最新留言的頭像牆,不過來丫湯這裡留言的人好像很多人都沒有申請Email的大頭貼頭像,看起來好像還好,當然有興趣的也可以參考看看。

01

今天丫湯的WP筆記就是如何不用外掛做出上面的大頭貼頭像牆,其實也沒有說很難,網路上好像也不少教學,不過丫湯最近處於學習階段當然要自己來實做一下,有興趣的可以參考丫湯的代碼。

css的部份:

.recentcomments{ 

padding:3px; 

border:1px solid #DDD; 

margin:3px 3px 0 0; 

float:left;}

最新留言大頭貼牆代碼部份:

<?php 

global $wpdb; 

$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved,comment_author_email, comment_type,comment_author_url, SUBSTRING(comment_content,1,30) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND comment_author != 'admin' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT 18"; 

$comments = $wpdb->get_results($sql); 

$output = $pre_HTML; 

foreach ($comments as $comment) { 

$output .= "<div class=\"recentcomments\"><a href=\"" . get_permalink($comment->ID) . "#comment-" . $comment->comment_ID . "\" title=\"". strip_tags($comment->comment_author)."說『".strip_tags($comment->com_excerpt)."』 在文章《".$comment->post_title."》\"><img width=\"32\" height=\"32\" src=\"http://www.gravatar.com/avatar.php?gravatar_id=".md5(strtolower($comment->comment_author_email)). " \" /></a></div>"; 

} 

$output .= $post_HTML; 

$output = convert_smilies($output); 

echo $output; 

?>

主要設定有三個部份,設置解說如下:

comment_content,1,30:將30改為你想顯示的留言字數。

AND comment_author !=’admin’:如果在留言牆不顯示自己的留言就把admin改為你的帳號,就會排除了。

LIMIT 18:這個數字是要顯示的留言數量。

以上代碼應該不會有太難理解的地方,有興趣的研究研究吧。

Categorized in:

WordPress,

Last Update: 2009 年 12 月 29 日