按浏览量排序帖子类型

时间:2012-04-09 作者:Jacksonkr

我有一个自定义的帖子类型,我想为其提供一种新闻提要,但我只想显示视图最多的帖子。我知道我可以查询我的帖子类型的“归档”,但我的问题是“如何按视图对查询进行排序”?

2 个回复
最合适的回答,由SO网友:PrivateUser 整理而成

WP post views 插件已经很好地完成了这项工作。

所以只需安装该插件,然后使用如下功能

<?php if (function_exists(\'get_most_viewed\')): ?>
    <ul>
        <?php get_most_viewed(\'custom post type name\',20); ?>
    </ul>
<?php endif; ?>
有关更多信息,请查看this FAQ page

SO网友:Hiren Makwana

希望这段代码能对您有所帮助。。。

    $right_now = gmdate("Y-m-d");
$qstr = "
    SELECT wposts.* 
    FROM $wpdb->posts wposts, 
    (select postid, sum(pageviews) pageviews 
     from $pageviews_table 
     where day >= \'$right_now\' - INTERVAL 30 DAY
     group by postid) pv
    WHERE wposts.post_status = \'publish\' 
    AND wposts.post_type = \'post\'
    AND wposts.ID = pv.postid
    AND wposts.post_date >= \'$right_now\' - INTERVAL 30 DAY
    ORDER BY pv.pageviews DESC
    LIMIT 10
 ";

$max_most_read = 5; // Number of "most read-spots" 
$posts = $wpdb->get_results($qstr);
if ($posts) {
   $i = 0;
    foreach ($posts as $post) {
        setup_postdata($post);
        if ($i < $max_most_read) {
                $category = get_the_category();
                $i++;
        }
    }
}

结束

相关推荐

Server-side sorting of posts

我在一些网站上看到,您可以通过传入以下查询在服务器端对帖子进行排序:domain.com/?sort=date 或domain.com/?sort=name我该如何处理页面上的WordPress帖子?