WordPress Track post views without a plugin using post meta

Add this code into the functions.php of your wordpress theme then follow step 1. and step 2. to display the number of views for each post.
PHP – functions.php

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

Step 1.

Place this snippet bellow “setPostViews” within the single.php inside the loop.
PHP – single.php

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

Step 2.

Place this code bellow within the template where you would like to display the number of views.
PHP – single.php / index.php

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


Leave a Reply

You must be logged in to post a comment.