WP-PostViews
Lester ChanUsage
- Open
wp-content/themes/<YOUR THEME NAME>/index.php
- You may place it in archive.php, single.php, post.php or page.php also.
- Find:
<?php while (have_posts()) : the_post(); ?>
- Add Anywhere Below It (The Place You Want The Views To Show):
<?php if(function_exists('the_views')) { the_views(); } ?>
- Or you can use the shortcode
[views]
or[views id="1"]
(where 1 is the post ID) in a post - Go to
WP-Admin -> Settings -> PostViews
to configure the plugin.
Development
https://github.com/lesterchan/wp-postviews/
Translations
http://dev.wp-plugins.org/browser/wp-postviews/i18n/
Credits
Donations
I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks, I will really appreciate it. If not feel free to use it without any obligations.
Version 1.76.1
- NEW: Add Post Author in views template
- NEW: Bump for WordPress 5.3
Version 1.76
- NEW: Added postviews_should_count filter
- FIXED: Change to (int) from intval() and use sanitize_key() with it.
Version 1.75
- NEW: Use WP_Query() for most/least viewed posts
Version 1.74
- NEW: Bump WordPress 4.7
- NEW: Template variable %POST_CATEGORY_ID%. It returns Post’s Category ID. If you are using Yoast SEO Plugin, it will return the priority Category ID. Props @FunFrog-BY
Version 1.73
- FIXED: In preview mode, don’t count views
Version 1.72
- NEW: Add %POST_THUMBNAIL% to template variables
Version 1.71
- FIXED: Notices in Widget Constructor for WordPress 4.3
Version 1.70
- FIXED: Integration with WP-Stats
Version 1.69
- NEW: Shortcode
[views]
or [views id=”POST_ID”]` to embed view count into post - NEW: Added template variable
%VIEW_COUNT_ROUNDED%
to support rounded view count like 10.1k or 11.2M
Version 1.68
- NEW: Added action hook ‘postviews_increment_views’ and ‘postviews_increment_views_ajax’
- NEW: Allow custom post type to be chosen under the widget
Version 1.67
- NEW: Allow user to not use AJAX to update the views even though WP_CACHE is true
Version 1.66
- NEW: Supports MultiSite Network Activation
- NEW: Add %POST_DATE% and %POST_TIME% to template variables
- NEW: Add China isearch engines bots
- NEW: Ability to pass in an array of post types for get_most/least_*() functions. Props Leo Plaw.
- FIXED: Moved uninstall to uninstall.php and hence fix missing nonce. Props Julio Potier.
- FIXED: Notices and better way to get views from meta. Props daankortenbach.
- FIXED: No longer needing add_post_meta() if update_post_meta() fails.
Version 1.65 (02-06-2013)
- FIXED: Views not showing in WP-Admin if “Display Options” is not set to “Display to everyone”
- Go to
WP-Admin -> Appearance -> Widgets
- The widget name is Views.
<?php if (function_exists('get_least_viewed')): ?>
<ul>
<?php get_least_viewed(); ?>
</ul>
<?php endif; ?>
- The first value you pass in is the post type that you want. If you want to get every post types, just use ‘both’. It also supports PHP array: example
array('post', 'page')
. - The second value you pass in is the maximum number of post you want to get.
- Default: get_least_viewed(‘both’, 10);
<?php if (function_exists('get_most_viewed')): ?>
<ul>
<?php get_most_viewed(); ?>
</ul>
<?php endif; ?>
- The first value you pass in is the post type that you want. If you want to get every post types, just use ‘both’. It also supports PHP array: example
array('post', 'page')
. - The second value you pass in is the maximum number of post you want to get.
- Default: get_most_viewed(‘both’, 10);
<?php if (function_exists('get_least_viewed_tag')): ?>
<ul>
<?php get_least_viewed_tag(); ?>
</ul>
<?php endif; ?>
- The first value you pass in is the tag id.
- The second value you pass in is the post type that you want. If you want to get every post types, just use ‘both’. It also supports PHP array: example
array('post', 'page')
. - The third value you pass in is the maximum number of post you want to get.
- Default: get_least_viewed_tag(1, ‘both’, 10);
<?php if (function_exists('get_most_viewed_tag')): ?>
<ul>
<?php get_most_viewed_tag(); ?>
</ul>
<?php endif; ?>
- The first value you pass in is the tag id.
- The second value you pass in is the post type that you want. If you want to get every post types, just use ‘both’. It also supports PHP array: example
array('post', 'page')
. - The third value you pass in is the maximum number of post you want to get.
- Default: get_most_viewed_tag(1, ‘both’, 10);
<?php if (function_exists('get_least_viewed_category')): ?>
<ul>
<?php get_least_viewed_category(); ?>
</ul>
<?php endif; ?>
- The first value you pass in is the category id.
- The second value you pass in is the post type that you want. If you want to get every post types, just use ‘both’. It also supports PHP array: example
array('post', 'page')
. - The third value you pass in is the maximum number of post you want to get.
- Default: get_least_viewed_category(1, ‘both’, 10);
<?php if (function_exists('get_most_viewed_category')): ?>
<ul>
<?php get_most_viewed_category(); ?>
</ul>
<?php endif; ?>
- The first value you pass in is the category id.
- The second value you pass in is the post type that you want. If you want to get every post types, just use ‘both’. It also supports PHP array: example
array('post', 'page')
. - The third value you pass in is the maximum number of post you want to get.
- Default: get_most_viewed_category(1, ‘both’, 10);
- You can use:
<?php query_posts( array( 'meta_key' => 'views', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) ); ?>
- Or pass in the variables to the URL:
http://yoursite.com/?v_sortby=views&v_orderby=desc
- You can replace DESC with ASC if you want the least viewed posts.
Use: <div id="postviews_lscwp"></div>
to replace <?php if(function_exists('the_views')) { the_views(); } ?>
.
NOTE: The id can be changed, but the div id and the ajax function must match.
Replace the ajax query in wp-content/plugins/wp-postviews/postviews-cache.js
with
jQuery.ajax({
type:"GET",
url:viewsCacheL10n.admin_ajax_url,
data:"postviews_id="+viewsCacheL10n.post_id+"&action=postviews",
cache:!1,
success:function(data) {
if(data) {
jQuery('#postviews_lscwp').html(data+' views');
}
}
});
Purge the cache to use the updated pages.
You can obtain the number of post views by adding views
to your _fields
parameter:
/wp/v2/posts?_fields=views,title
No longer works with Advanced Queries / Elementor
By whitelabelcroydon on April 26, 2024
Have been using this a while along side Advanced Queries and Elementors Loop widget to display a list grid of most popular articles on a website.
Doesnt seem to be working anymore. I think its still keeping count of the post views, but the views template variable isnt pulling in the correct posts. From the posts it is showing it looked like it stopped updating in January of this year.
Will need to find another solution!
It doesn't work with 6.5.2 wordpres version
By sergio.pinna.prato on April 21, 2024
It doesn't work with 6.5.2 wordpres version.
I guess this is no longer in supported
By Beulahland83 on January 8, 2023
The plugin is no longer compatible with some themes
example of (Corpo)
very useful
By douggeeks on March 23, 2022
Awesome
By Ahmed Faruk (ahmedfaruk) on December 6, 2021
Very nice plugin!
By eddy0522 on July 25, 2021
This Plugin Is So Good, but Please Help Me
By wissdomm on April 16, 2021
Useful
By welldds on April 21, 2020
Simple and good
By Gordon (jwart) on November 9, 2019
Good plugin
By Dao Tien Dung (daotiendung) on August 9, 2019
Version 1.77
- NEW: Use Vanilla JS. Props @JiveDig
- NEW: Bump to WordPress 6.2
- NEW: Support views under fields for Rest API. Props @vitro-mod
Reviews
4.4 out of 5 stars
- Version: 1.77
- Last updated: 1 year ago
- Active installations: 100K
- WordPress version: 4.0
- Tested up to: 6.3.5
- PHP version: false