用代码实现读者墙

林继 WordPress 2,335 共写了124个字 (2011-12-17 15:25:20) 没有评论 打印 扫描二维码 百度已收录

从主题目录 page.php 里找到

  1. <?php the_content(); ?>

用下面的代码来替换,需要修改邮箱 xxxx@gmail.com 为你自己的,其它根据自己的主题修改。

  1. <?php if (is_page('guestbook')): ?>
  2. <style type="text/css">
  3. 	   #readerswall ul {
  4. 		list-style-type:none;
  5. 		margin: 0 0 0 12px;
  6. 		overflow:auto;
  7. 		padding:0 6px;
  8. 		}
  9. 		#readerswall li{
  10. 			width:40px;
  11. 			height:46px;
  12. 			margin:0 10px 10px 0;
  13. 			padding:5px;
  14. 			float:left;
  15. 			list-style:none;
  16. 			border: 1px solid #DFDFDF;
  17. 		-moz-border-radius:2px;
  18. 		-khtml-border-radius: 2px;
  19. 		-webkit-border-radius: 2px;
  20. 		border-radius: 2px;
  21. 		}
  22. 		#readerswall img{
  23. 			width:40px;
  24. 			height:40px;
  25. 			display:block;
  26. 			}
  27. 		#readerswall .active-bg{
  28. 			width:40px;
  29. 			height:2px;
  30. 			_font-size:0;
  31. 			margin-top:5px;
  32. 			background:#DFDFDF;
  33. 			}
  34. 		#readerswall .active-degree{
  35. 			background:red;
  36. 			width:40px;
  37. 			height:2px;
  38. 			_font-size:0;
  39. 			}
  40. 	</style>
  41. <?php
  42. 	$query="SELECT COUNT(comment_ID) AS cnt, comment_author, comment_author_url, comment_author_email FROM (SELECT * FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->posts.ID=$wpdb->comments.comment_post_ID) WHERE comment_date > date_sub( NOW(), INTERVAL 24 MONTH ) AND user_id='0' AND comment_author_email != 'xxxx@gmail.com' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt GROUP BY comment_author_email ORDER BY cnt DESC LIMIT 30";//最后的这个40是选取多少个头像,我一次让它显示40个。
  43. 	$wall = $wpdb->get_results($query);
  44. 	$maxNum = $wall[0]->cnt;
  45. 	foreach ($wall as $comment)
  46. 	{
  47. 		$width = round(40 / ($maxNum / $comment->cnt),2);//这个40是我设置头像的宽度,和下面&size=40里的40一个概念,如果你头像宽度32,这里就是32了。
  48. 		if( $comment->comment_author_url )
  49. 		$url = $comment->comment_author_url;
  50. 		else $url="#";
  51. 		$tmp = "<li><a rel='nofollow' href='".$comment->comment_author_url."' target='_blank' alt='".$comment->comment_author." ( ".$comment->cnt." 次重要讲话 )' title='".$comment->comment_author." ( ".$comment->cnt." 次重要讲话 )'><img src='http://www.gravatar.com/avatar.php?gravatar_id=".md5($comment->comment_author_email)."&size=60&d=identicon&r=G' /></a><div class='active-bg'><div class='active-degree' style='width:".$width."px'></div></li>";
  52. 		$output .= $tmp;
  53. 	 }
  54. 	$output = "<div id='readerswall'><ul class='gavaimg'>".$output."</ul></div>";
  55. 	echo $output ;
  56. ?>
  57. 	<?php else: ?>
  58. 	<?php the_content(); ?>
  59. 	<?php endif; ?>

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >