最新消息:Excel无乱码转CSV,由于工作原因很少更新博客和回复大家的评论,非常抱歉。

[原创]WordPress 实现文章按点击排序

WordPress 实现文章按点击排序,首先得安装一个插件:post-views,这个插件是自动为文章记录保存点击数据的。现在我要做一个按热门点击归档,效果请查看本站热门浏览TOP 100下面分享代码:

<?php
$result = $wpdb->get_results("select p.ID as ID,p.post_title as post_title,pm.meta_value as meta_value from $wpdb->posts as p join $wpdb->postmeta as pm on p.ID=pm.post_id where pm.meta_key='views' and p.post_type='post' order by CONVERT(pm.meta_value,SIGNED) DESC limit 0,100");

$count = count($result);
if($count>0){
 $i=0;
 $li_list='';
 $li_list1='';
 foreach ($result as $value) {
  setup_postdata($value);
  $postid = $value->ID;
  $title = $value->post_title;
  $views = $value->meta_value;
  $i++;

  if($i<=50){
   $li_list .='<li><span>'.$i.'</span> <a rel="bookmark" href="'.get_permalink($postid).'" title="'. $title .' 已被围观 '.$views.' 次">'.$title .'</a> 已被围观 <strong>'.$views.'</strong> 次</li>';
  }else{
   $li_list1 .='<li><span>'.$i.'</span> <a rel="bookmark" href="'.get_permalink($postid).'" title="'. $title .' 已被围观 '.$views.' 次">'.$title .'</a> 已被围观 <strong>'.$views.'</strong> 次</li>';
  }
 }
 ?>
 <ul><?php echo $li_list; ?></ul>
 <ul><?php echo $li_list1; ?></ul>
<?php
}else{
 echo '<p>暂无相关内容。</p>';
}?>

上述代码是本站应用的,按热门点击归档的部分代码。

转载请注明:嗨酷哥,有你更酷! » [原创]WordPress 实现文章按点击排序

与本文相关文章

发表我的评论

取消评论
表情 插代码

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项

网友评论3条  本站回复3

  1. $popular = new WP_Query(array(‘orderby’=>’meta_value_num’,’meta_key’=>’views’,’showposts’ => 10,’order’=>’DESC’));
    用这个’orderby’=>’meta_value_num’ ,他就可以让meta_value的值按数量来排。

    werebook.com2012-02-24 03:52 回复
    • 嗯,你的方法也可以,谢谢分享!

      hicoogle2012-02-24 09:18 回复
  2. 这么多的功能,这么多得代码,影响速度吗?

    FLYICE2011-12-17 11:27 回复
    • 使用插件,肯定会有影响速度的。

      hicoogle2011-12-17 13:47 回复
  3. 呵呵,之前按点击排序很乱,升序或降序根本就不起作用。原来pm.meta_value字段是longtext类型的,所以要用CONVERT(pm.meta_value,SIGNED)来转型,然后再排序,OK问题解决了。

    hicoogle2011-08-12 10:39 回复
    • 在post-views插件看到,可以用pm.meta_value+0这种方式还转型。

      hicoogle2011-08-23 15:43 回复