最不受欢迎文章

如果 Wordpress 安装有 Popularity Contest 插件,可以通过 akpc_most_popular 函数输出最受读者欢迎的日志。

但日志排名中一个重要元素就是点击率。调用“最受欢迎日志”吸引来的阅读量只会使这些日志的分数越来越高,永远“最受欢迎”。所以我觉得和 Random Post 相似,假若在博客显著位置按上“最不受欢迎日志”的列表,那么随着大家的点击,日志排名改变,列表内容列表也会不断更新,比“最受欢迎”更具意义。

修改方式:
打开 popularity-contest.php,加入

  1. function akpc_least_popular($limit = 10, $before = '<li>', $after = '</li>') {
  2.   global $akpc;
  3.   $akpc->show_bottom_ranked($limit, $before, $after);
  4. }

  1. function show_bottom_ranked($limit, $before, $after) {
  2.   global $wpdb;
  3.   $temp = $wpdb;
  4.  
  5.   $join = apply_filters('posts_join', '');
  6.   $where = apply_filters('posts_where', '');
  7.   $groupby = apply_filters('posts_groupby', '');
  8.   if (!empty($groupby)) {
  9.     $groupby = ' GROUP BY '.$groupby;
  10.   }
  11.   else {
  12.     $groupby = ' GROUP BY '.$wpdb->posts.'.ID ';
  13.   }
  14.  
  15.   $posts = $wpdb->get_results("
  16.   SELECT ID, post_title FROM $wpdb->posts LEFT JOIN $wpdb->ak_popularity pop ON $wpdb->posts.ID = pop.post_id $join WHERE post_status = 'publish' AND post_type = 'post' AND post_date < NOW() $where $groupby ORDER BY pop.total ASC LIMIT ".intval($limit) );
  17.   if ($posts) {
  18.     foreach ($posts as $post) {
  19.     print( $before.'<a href="'.get_permalink($post->ID).'">' .$post->post_title.'</a>'.$after);
  20.     }
  21.   }
  22.   else {
  23.     print($before.'(none)'.$after);
  24.   }
  25.   $wpdb = $temp;
  26. }

原理很简单,只是输出了倒序的日志排名。在需要显示的页面加入:

  1. /?php if (function_exists('akpc_least_popular') ) { ?/
  2. /?php akpc_least_popular('8'); ?/
  3. /?php } ?/

您可以根据自己的喜好把“8”改为需要的数字。

请注意将上面所有代码中的”/?”改成”<?”,”?/”改成”?>”。

Tags:, .
评论数量(0) | Add Comments
本文网址:http://www.21percent.com.cn/qyll/html/2008/1102.html
最受大家欢迎的文章:http://www.21percent.com.cn/qyll/tags
一起出行?OR 了解情况?请Gmail联系:
Tsian's Gmail

There are No comments.

» You can leave a response or Trackback .

leave a reply