lisaleague
4/5/2015 - 11:28 PM

Calculate and display number of views in Genesis post meta

Calculate and display number of views in Genesis post meta

//* Get post view counts
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 Views";
    }
    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);
    }
}

//* Prevent prefetching from adding extra views
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); 

add_action( 'genesis_loop', 'nabm_get_individual_post_count');
function nabm_get_individual_post_count() {
	if ( is_single() ) {
	setPostViews(get_the_ID());
	}
}

//* Add shortcode to display counts in post meta
function nabm_post_views_shortcode() {
	echo getPostViews(get_the_ID());
}
add_shortcode( 'post_views', 'nabm_post_views_shortcode' );