我们在浏览他人博客的时候是否看到有些站长将读者全部用一个列表页面展示出来,根据评论的多少热度来排行榜的,在一定程度上可以吸引到用户评论和参与的积极性。比如我们在使用ZBLOG PHP程序的时候有类似的插件实现,但是这里有心的网友通过代码实现的,具体方法老蒋也转载看看。
functiON tx_Readers() {
global $zbp;
$date =100;
$dzgs =100;
$b = mktime(0,0,0,date('m'),date('d')-$date,date('Y'));
$e = mktime(0,0,0,date('m'),date('d')+1,date('Y'));
$x = 1111;
$rs=100;
$sql = $zbp->db->sql->Select(
$zbp->table['Comment'],
array('COUNT(comm_ID) AS cnt, comm_Name, comm_HomePage , comm_Email'),
array(
array('<>', 'comm_Email', $x),
array('<>', 'comm_Name', '访客'),
array('<>', 'comm_Name', 'admin'),
array('BETWEEN', 'comm_PostTime', $b, $e),
array('CUSTOM', '1=1 GROUP BY comm_HomePage')
),
array('comm_PostTime' => 'DESC'),
$dzgs,
null
);
$array=$zbp->db->Query($sql);
$s="";
$s .="\r\n";
foreach ($array as $comment) {
$r="rel='external nofollow'";
$s .= '<li><a href="'.$comment['comm_HomePage'] . '" ' . $r . ' title="' . $comment['comm_Name'] . '(赐教' . $comment['cnt'] . '次)" target="_blank"><img src="http://cn.gravatar.com/avatar/' .md5(strtolower($comment['comm_Email'])).' &r=X&s=80" alt="avatar" class="avatar avatar-36 photo" height="40" width="40" /><h4>'.$comment['comm_Name'] .'</h4><p>留言 '.$comment['cnt'].' 次</p><div class="clear"></div></a></li>';
$s .="\r\n";
}
$s .="</ul>";
$s .="\r\n";
return $s;
}
代码添加到主题中的include.php文件中,具体参数可以修改,比如行数列数。然后我们可以用一个单独的页面模板调用。
{php}echo tx_Readers();{/php}
然后我们看看前台效果,样式肯定不是特别好,我们可以再修改CSS样式定义样式和微调。