// Funcão posts mais visto dentro do functions.php

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);
  }
}

------------------------------------------------------------------------------------------------

// Funcao para listar os posts mais visto dentro da index.php
<?php
  $args = array(
    'meta_key' => 'post_views_count',
    'posts_per_page' => 3,
    'orderby' => 'meta_value_num',
    'order' => 'DESC'
  );
  $top_views_posts = new WP_Query($args);
?>
<?php if(have_posts()) : while ($top_views_posts -> have_posts()) : $top_views_posts -> the_post(); ?>

// aqui dentro vai a div item-post que vai ser repetir

<?php endwhile; endif; wp_reset_query(); ?>