我有一个自定义的帖子类型,我想为其提供一种新闻提要,但我只想显示视图最多的帖子。我知道我可以查询我的帖子类型的“归档”,但我的问题是“如何按视图对查询进行排序”?
按浏览量排序帖子类型
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 pageSO网友: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++;
}
}
}
结束