如何创建十大热门帖子页面?

时间:2015-08-25 作者:Frank Montana

我需要创建一个“热门帖子页面”,根据高浏览量显示有史以来浏览量最大的前10篇帖子。

有什么帮助吗?

1 个回复
SO网友:Dean Elliott

这是一个开始(找到函数here);

function getPostViews($postID){
    $count_key = \'post_views_count\';
    $count = get_post_meta($postID, $count_key, true);
    if($count==\'\'){
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, \'0\');
        return "0 View";
    }
    return $count.\' Views\';
}
function setPostViews($postID) {
    $count_key = \'post_views_count\';
    $count = get_post_meta($postID, $count_key, true);
    if($count==\'\'){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, \'0\');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}

// Remove issues with prefetching adding extra views
remove_action( \'wp_head\', \'adjacent_posts_rel_link_wp_head\', 10, 0);
现在将此添加到您的单曲中。用于跟踪视图的php文件;

<?php setPostViews(get_the_ID()); ?>
现在可以使用元字段post_views_count 创建一个简单的WP\\U查询循环,显示视图数最多的10篇文章。Eg;

$args = array(
    \'posts_per_page\' => 10,
    \'meta_key\' => \'post_views_count\',
    \'orderby\' => \'meta_value_num\',
    \'order\' => \'DESC\'
);
$top_posts = new WP_Query($args);
while ($top_posts->have_posts()) : $top_posts->the_post();
    // Your post loop content
endwhile;
wp_reset_postdata();

相关推荐

如何修改WP_INCLUDE/BLOCKS/LATEST_posts.php

我是WordPress开发的初学者,希望得到一些帮助。我在一个简单的WordPress网站上工作。基本上,用户希望在主页上显示最新的帖子。我使用了最新帖子块,并将其设置为显示整个帖子内容,现在用户不希望帖子标题链接到单个帖子页面(因为帖子的内容显示在主页上)。如何安全地修改模板文件,使其像h2标记一样使用,而不是在主题中使用的href标记。我知道您可以创建子主题并修改wp_content 文件,但我不确定如何处理中的文件wp_include. 我读到一些关于修改functions.php 但我不确定,如果