WordPress评论统计页面创建:显示四种方式(2)
来源:asp之家 发布时间:2010-03-26 10:18:00
接下来是“最新Pingbacks/Trackbacks”部分:
<h3>Recent Pingbacks / Trackbacks </h3>
<ul id="cc-recent-trackbacks">
<?php $sql = "SELECT c.*, p.post_title FROM $wpdb->comments c INNER JOIN
$wpdb->posts p ON (c.comment_post_id=p.ID)
WHERE comment_approved = '1' AND comment_type not in ('trackback','pingback')
ORDER BY comment_date DESC LIMIT $max"; $results = $wpdb->get_results($sql);
$template = '%g <a href="%au">%an</a> on <a href="%pu#comment-%cid">%pt</a>';
$echoed = 0; foreach ($results as $row){ $tags = array('%ct','%cd','%g','%pt','%pu','%au','%an','%cid');
$replacements = array($row->comment_title,$row->comment_date,get_avatar($row->comment_author_email,'32'),
$row->post_title, get_permalink($row->comment_post_ID),
$row->comment_author_url,
$row->comment_author,
$row->comment_ID); echo '<li>' . str_replace($tags,$replacements,$template) . '</li>';
$echoed=1; } if ($echoed==0) echo '<li>No comment found.</li>'; ?> </ul>
上述代码与“最新评论”中的代码非常相似,两者的区别在于,我们现在要查找的是comment_type中‘pingback’ / ‘trackback’下的评论,此外模板方面也有一些不同。 演示结果如下:
接下来是“评论次数最多的评论者”的代码:
<h3>Top Commenters</h3>
<ul id="cc-top-commenters">
<?php $sql = "SELECT comment_author, comment_author_url, comment_author_email, count(comment_ID)
as comment_count FROM $wpdb->comments WHERE comment_approved = '1'
AND comment_type not in ('trackback','pingback') GROUP BY comment_author, comment_author_url,
comment_author_email ORDER BY comment_count DESC LIMIT $max";
$results = $wpdb->get_results($sql);
$template = '<a href="%au">%g %an</a> (%c comments)';
$echoed = 0; foreach ($results as $row) { $tags = array('%g','%au','%an','%c');
$replacements = array(get_avatar($row->comment_author_email,'32'),
$row->comment_author_url,
$row->comment_author,
$row->comment_count); echo '<li>' . str_replace($tags,$replacements,$template) . '</li>';
$echoed = 1; } if ($echoed==0) echo '<li>No commenter found.</li>'; ?> </ul>
这里问题不大。 不过需要注意get_avatar()函数,当你指定一个电子邮件地址,这个函数会给出邮箱主人的Gravatar头像。 这种情况下我们就可以利用评论者的邮箱地址获取其头像图片。 之后利用一段类似于“最新评论”中的CSS代码:
#cc-top-commenters li { width: 100%; float: left; list-style-type: none; }
#cc-top-commenters li img { float: left; margin-top: -5px; }
得到结果如下:
最后是“被评论次数最多的文章”部分:
<h3>Most Commented Posts</h3>
<ul id="cc-most-comments">
$sql = "SELECT p.*, c.comment_count FROM
$wpdb->posts p INNER JOIN (SELECT comment_post_id, count(comment_ID) as comment_count
from $wpdb->comments
WHERE comment_approved='1' GROUP BY comment_post_id) c ON (c.comment_post_id=p.ID)
ORDER BY c.comment_count DESC LIMIT $max";
$results = $wpdb->get_results($sql);
$template = '<a href="%pu">%pt</a> (%c comments)';
$echoed = 0; foreach ($results as $row) {
$tags = array('%pd','%pt','%pu','%c');
$replacements = array($row->post_date,$row->post_title,get_permalink($row->ID),
$row->comment_count); echo '<li>' . str_replace($tags,$replacements,$template) . '</li>';
$echoed = 1; } if ($echoed==0)
echo '<li>No commenter found.</li>';
?>
</ul>
大功告成!
接下来我们给页面增加一个新版块——一些只有管理员可以看到的信息。


猜你喜欢
- SMTP提供一种可靠的有效的传送机制,它用于传送电子邮件。虽然十几年来,它的作用已经有目共睹,可是对它功能的扩充也是必不可少的。对SMTP服
- 你的服务器上是否存有一些不能随意公开的重要数据呢?当然有吧?而最近,偏偏服务器遭受的风险又特别大,越来越多的病毒、心怀不轨的黑客,以及那些商
- 软件环境:redhat6.2 Qmail1.3硬件环境:HP Netserver E60 128M内存 单网卡1.什么是mail relay
- 前段时间“士兵突击”很火,在朋友的劝说下我花了3天看完!观后感:长这么大看了许多电视剧,头一次这么感动,且钢七连的“不抛弃,不放弃”的精神深
- 随着搜索引擎日益的智能化,而伴随着一批批作弊网站面临着被搜索引擎淘汰的危机。如果你跟不上搜索引擎的步伐,也许几个月、甚至几天,你所谓的SEO
- 1、关键字研究在做任何举动之前,先用关键字工具来做一个广泛的调查,看哪些关键字/词适用于你的站点。你的直接竞争对手用的是什么关键词?是不是有
- 做网站一直给绝大多数网民以很方便、很便宜的印象,包括很多IT领域的从业者也这么认为。其实不管670万,还是3250万都是完全可能的,关键最后
- 自从seo大师丘仕达把挖土豆和163邮箱和其他的单页面站成功的优化后,就引发了SEO界的强烈反响,众多的追随者和后来者前仆后继的学习SEO,
- 10月16日消息,据国外媒体报道,网上慈善机构YouthNet日前公布的一份调查结果显示,75%的16岁至24岁年轻人表示没有互联网就无法生
- VMware tools是为使用VMware提供了很大的便利。所以安装VMware tools很必要。由于实验需要,我需要安装在VMware
- 2009年10月16日,纳思达产业集团与爱必富品牌联盟正式签署合作协议。此项合作,代表中国通用耗材企业正从过去主要是为国外客户贴牌生产,转向
- 大家都说PR很难提高,百度,GOOLE收录也很难,可是我建站三个月我站的PR=5 搜狗PR=43 百度收录三万三页 GOOLE收录二万二页
- Windows Server 2008的一个特性在于,操作系统的许多方面的功能都可以通过命令行方式进行管理。如果我们在一台带GUI界面的电脑
- 对从事SEO(搜索引擎优化)的朋友来说,最难的就是当遇到挫折和问题的时候。文章里将列举出几种典型的情况,主要关注那些不是被搜索引擎惩罚的情况
- 在博客一年的时间里,就我个人而言,我学到了很多东西,不管是博客以外还是以内的,如果你还没有建立自己的博客,我建议你马上建立,并固定地更新,你
- 1. 确认加载include.so模块,将注释去掉: LoadModule include_module libexec/apache2/m
- 11月6日消息,据国外媒体报道,针对美国伊利诺伊州一家公司起诉谷歌Android侵权一事,谷歌提起了反诉。并称有人曾试图利用施佩希特的注册商
- 自从《精灵》之后,丁磊对于跟韩国人合作的兴趣大为减弱。他相信自己的团队可以开发出更优秀的产品,更相信运营自己开发的产品,无论是可控性还是利润
- 1、首先当然是把网站的内容做好:但是,这里千万需要重申一点:不要一味追求“原创”,切忌不顾一切原创内
- 基本步骤:分区——格式化——挂载——写入文件1、首先用fdisk -l命令查看添加的硬盘名称,可以看到sdb为新增的硬盘[root@orac