Wordpress - 通过没有插件的视图获得5个热门帖子

时间:2012-09-24 18:29:43

标签: wordpress

您好,

我有来自帖子的图片的自定义字段,我想显示按视图排序的前5个帖子。我正在使用WordPress,你能帮我吗?

抱歉我的英语不好。

感谢。

3 个答案:

答案 0 :(得分:4)

Xhynk's reference有一个错误:

它运行的查询按字母顺序返回帖子(1,2,20,23,3,4等)

您只需要更改

'orderby' => 'wpb_post_views_count'

'orderby' => 'meta_value_num'

对于前5名,请使用:

$popularpost  = new WP_Query(array(
    'posts_per_page' => 5,
    'meta_key' => 'wpb_post_views_count',
    'orderby' => 'meta_value_num',
    'order' => 'DESC'
));

答案 1 :(得分:4)

这很容易。只需将此代码用于functions.php

即可
/*
 * Set post views count using post meta
 */
function setPostViews($postID) {
    $countKey = 'post_views_count';
    $count = get_post_meta($postID, $countKey, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $countKey);
        add_post_meta($postID, $countKey, '0');
    }else{
        $count++;
        update_post_meta($postID, $countKey, $count);
    }
}

把single.php

setPostViews(get_the_ID());

这是您热门的帖子查询:

   <?php
      query_posts('meta_key=post_views_count&posts_per_page=5&orderby=meta_value_num&
      order=DESC');
      if (have_posts()) : while (have_posts()) : the_post();
   ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title();
     ?></a>
   </li>
   <?php
   endwhile; endif;
   wp_reset_query();
   ?>

详细信息go

答案 2 :(得分:2)

http://www.wpbeginner.com/wp-tutorials/how-to-track-popular-posts-by-views-in-wordpress-without-a-plugin/

基本上它会为每个帖子添加一个元字段 - 并在查看时删除旧记录,然后将其替换为“旧记录+ 1”