zblog php调用评论最多的读者列表(读者墙)

在博客调用全站评论最多的用户进行头像展示,可以有效调动读者评论的积极性,提高博客的活跃度,这个效果也就是常见的网站读者墙。使用php版本zblog的博主,可以通过添加下面的方法实现zblog php读者墙功能,方法非常简单。

在当前主题的include.php文件中,添加以下代码:

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
/*www.boke8.net*/
function readers($num){
	global $zbp;	
	if($num){
		$i = $num;
	}else{
		$i=10;
	}		
	$sql = $zbp->db->sql->Select(
		$zbp->table['Comment'],
		array('COUNT(comm_ID) AS cnt, comm_Name, comm_HomePage , comm_Email'),
		array(
			array('<>', 'comm_Name', '访客'),
			array('=', 'comm_AuthorID', 0),			
			array('CUSTOM', '1=1 GROUP BY comm_HomePage')
		),
		array('comm_PostTime' => 'DESC'),
		$i,
	null
	);
	$array=$zbp->db->Query($sql);	
	$r ="\r\n";
    foreach ($array as $comment) {
        $r .= '<li><a href="'.$comment['comm_HomePage'].'" title="'.$comment['comm_Name'].'" target="_blank" data-original-title="[' . $comment['comm_Name'] . '] 近期点评' . $comment['cnt'] . '次"><img src="http://cn.gravatar.com/avatar/' .md5(strtolower($comment['comm_Email'])).'&amp;r=X&amp;s=40" alt=""></a></li>';       
    }     
	$r .="\r\n";
	return $r;
}

在要显示读者墙的位置对应的主题模板文件中,添加调用代码:

1
{readers('20')}

其中的20是要显示的数量,默认显示10个,使用默认数量,把20去掉即可。

提示:以上代码排除了得评论昵称为“访客”以及用户ID为0的评论用户。

网友留言:

  1. 2016-04-16回复

    需要单独弄一个页面显示读者墙 不知道怎么用了

  2. 2016-04-16回复

    要是能有个演示图就好了 不过我自己折腾一下 正好需要 谢谢分享

发表留言