fbpx
How to Track and Show WordPress Post Views Without a Plugin

How to Track and Show WordPress Post Views Without a Plugin

This simple snippet tracks and shows WordPress post views in your templates – and without the need for a plugin.

Instructions
Add this to your functions.php file.

// function to display number of posts.
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 to 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);
    }
}


// Add it to a column in WP-Admin
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);
function posts_column_views($defaults){
    $defaults['post_views'] = __('Views');
    return $defaults;
}
function posts_custom_column_views($column_name, $id){
	if($column_name === 'post_views'){
        echo getPostViews(get_the_ID());
    }
}

Add this to your single.php, and make sure you paste in inside the loop.

<?php setPostViews(get_the_ID()); ?>

To display the number of views a post has, just add this in your template where you want the post view count to be displayed.

<?php echo getPostViews(get_the_ID()); ?>

Related Links:
http://wpsnipp.com/index.php/functions-php/track-post-views-without-a-plugin-using-post-meta/

WordPress Hosting

Comments

  1. this works but i noticed and issue. When i shared a post on Facebook etc… many people click on the shared post. however I noticed that the view count do not change. Its only change if you click on the post on the site only. Please help. Thanks

  2. Thanks a lot. The code snippet really worked like charm! It’s showing page views accordingly and very fast in updating the views too

Leave a Reply

Your email address will not be published. Required fields are marked *

WordPress Snippet Info

Tested with Wordpress v. 4.8
Last Reviewed: 01.08.2017

How to Track and Show WordPress Post Views Without a Plugin
4.4 (87.95%) 88 vote[s]
Please report broken snippets.
Report Broken Snippet
WordPress Hosting

Recent Comments