Saves view counts from WordPress.com Stats Jetpack module as post meta data.
Saves view counts from Jetpack Site Stats module as post meta data. This can be useful for displaying view counts in your theme and building custom queries.
What makes this a better solution over other view-tracking plugins is that it simply pulls the information from Jetpack, which is popular and provides fairly accurate data, so this has very little overhead. It’s a streamlined plugin that piggybacks off another which you might already be using.
Comes with a shortcode to display views and a filter to change the post meta key where views are saved.
Thank you to Milan Dinić for improvements in the code after the initial release (and for the Serbian translation)!
wp-stats-view-counter
to the /wp-content/plugins/
directory.[view-count]
or get_post_meta( $post->ID, 'views', true );
to display views.By default views
is the key where the view counts are saved, but you can filter this with the filter view_counter_meta_key
. So for example, if you wanted to change the meta key from views
to my-key
, you would use this in your functions.php file:
add_filter( 'view_counter_meta_key', 'my_view_counter_meta_key', 10, 1 ); function my_view_counter_meta_key( $key ) { return 'my-key'; }
The plugin will check to make sure the new view count is greater than the old one before replacing, so there is some fallback to prevent it from overwriting previously saved views from other plugins also using the views
post meta key.
Either using get_post_meta( $post->ID, 'views', true );
or the shortcode [view-count]
.
The shortcode can also accept before and after parameters, like so:
[view-count before="Views: "] [view-count after=" views"]
And keep in mind that shortcodes can be activated using do_shortcode() if you have having troubled getting it to work:
echo do_shortcode( '[view-count]' );
Every 3 hours an entry is accessed, the plugin will check the WordPress.com Stats view count and update locally. The delay is to ensure we don’t overload the WordPress.com Stats API.
This will be unnoticeable to the average visitor because it’s unlikely they are sitting on your site waiting for the views to update, like you might be.
Unless you have an extremely active site, there isn’t really much reason for the check to be more frequent.
Yes, if you really want to, you can! Use the following filter:
add_filter( 'view_counter_transient_expiration', 'my_view_counter_transient_expiration', 10, 1 ); function my_view_counter_transient_expiration( $hours ) { return 2; // time in hours }