在wordpress上展示留言最多的文章
我打算在wordpress的侧边栏上展示留言最多的文章,想想应该有现成的plugin,首先还是去网上扒啦了一圈,大多数结果都是雷同的,利用多表联查之类的取得评论最多的文章,性能上可能不太好,因此总觉得不太合意。最后我找到了下面这种办法,比较理想。
首先构造一个sql,从wordpress的数据库里读出需要的文章,利用wp_posts表的comment_count字段(评论数)来排序。wp_posts表可能是别的名字,因为你在安装的时候可能取了一些其它的前缀,为了具有更好的适应性,利用wordpress的一个特别变量$wpdb->posts,它保存了wp_posts的表名。下面是这段sql:
CODE:
-
SELECT ID, post_title, comment_count
-
FROM $wpdb->posts
-
ORDER BY comment_count DESC
以上,利用comment_count字段倒排,取得评论最多的文章,顺便还要加上一些限制,比如一次取5条记录:
CODE:
-
SELECT ID, post_title, comment_count
-
FROM $wpdb->posts
-
ORDER BY comment_count DESC
-
LIMIT 5
中间若干过程省略,我们把上面sql的查询结果在sidebar.php里头展示:
CODE:
-
<?php
-
-
$posts = $wpdb->get_results("SELECT ID, post_title, comment_count FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 5");
-
-
echo '<ul>';
-
foreach($posts as $post) {
-
-
$id = $post->ID;
-
$title = $post->post_title;
-
$count = $post->comment_count;
-
-
echo '<li><a href="' . get_permalink($id) . '">' . $title . '</a> (' . $count . ')</li>';
-
-
}
-
echo '</ul>';
-
-
?>
如果再花点功夫,上面的这段就能做成一个不错的widget,很方便的在wordpress后台里拖拽。
参考文章
HOWTO: DIY “Most commented” Wordpress widget
作者: Volcano 发表于June 25, 2007 at 8:00 am
xLight 于 2007-06-25 @ 10:10:00 留言 :
那你就做成 widget 放出来啊
volcano 于 2007-06-25 @ 10:36:25 留言 :
有这需求吗?这个不难,回头去鼓捣一个出来。
» 如何制作最多评论的Wordpress widget » WEB实用技术文摘 于 2007-07-05 @ 21:49:46 留言 :
[...] 参见”在wordpress上展示留言最多的文章“ [...]
左拉 于 2007-10-18 @ 03:06:29 留言 :
好厉害,适合最新版本么
volcano 于 2007-10-18 @ 15:17:36 留言 :
最新版本的这部分没有变化
爆米花 于 2007-10-26 @ 11:06:23 留言 :
前面的看得明白
“很方便的在wordpress后台里拖拽。” 这句目前表示关注
volcano 于 2007-10-26 @ 17:55:48 留言 :
如果开启了widget,那么可以在wordpress的主题管理中,将一些安装好的widget拖动到某个位置,比如侧边栏,footer.具体情形还得自己用过才知道.