TransWikia.com

How to Display Most View Post in the template file?

WordPress Development Asked by user131591 on December 10, 2021

I need to create most viewed post column in the template file, but based on post view count?

Function File

function wpb_get_post_views($postID){
$count_key = 'wpb_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';
}

Template File

<?php 
$popularpost = new WP_Query( array( 'posts_per_page' => 4, 'meta_key' => 'wpb_post_views_count', 
'orderby' => 'meta_value_num', 'order' => 'DESC'  ) );
 while ( $popularpost->have_posts() ) : $popularpost->the_post();
 the_title();
 endwhile;
?>

One Answer

The function getPostViews() is retrieving the total number of views for each post while setPostViews() increases the post views counter each time post is viewed. You need to call setPostViews() somewhere in your single.php and then use below code to retrieve posts on basis of posts view count.

$args = Array(
  'post_type' => 'post',
  'posts_per_page' => '5',
  'meta_key' => 'post_views_count',
  'orderby' => 'meta_value_num',
  'order' => 'DESC'
);
$popular = new WP_Query( $args );

<?php while($popular->have_posts()) : $popular->the_post();  ?>

    <?php the_post_thumbnail(); ?> <?php the_title(); ?> <?php the_content(); ?>

<?php endwhile ?>

Answered by Piyush Rawat on December 10, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP