Type to search.

#470 by installs

WP-PostViews

by Lester ChanVersion 2.0.1

Enables you to display how many times a post/page had been viewed.

Active installs
90,000+
#470 of 1,000
Downloads, all time
3.5M
3,496,870
Downloads, 30 days
11.3K
3K in the last 7
Rating
4.4 / 5
65 reviews
Last updated
2 months ago
Aug 24, 2026
Version
2.0.1
29 releases

Upkeep and compatibility

Last updatedAugust 24, 2026Updated in the last 3 months
Tested up toWordPress 7.1.4Covers WordPress 7.1.4, the current release
Needs WordPress6.8 or newer
Needs PHP8.2 or newer
First publishedFebruary 8, 2006
Support, last two monthsNo threads opened

Reviews

4.4 / 5 from 65 reviews

Reviews by star rating
5 stars48
4 stars8
3 stars1
2 stars1
1 star7

Downloads, last 30 days

Low 159 a dayHigh 1.3K a day

What the author says it does

WP-PostViews counts how many times each post, page or custom post type has been read and gives you somewhere to show the number. The count is kept as post meta, so it sorts, queries and exports like anything else WordPress stores about a post.

Features

  • A view count on any post, page or custom post type, printed by a template tag or by the [views] shortcode.
  • Two templates you edit yourself, with tokens for the count, the title, the date, the excerpt, the thumbnail, the author and more.
  • Choose who is counted — everyone, guests only or logged in users only — and leave known robots out.
  • Template tags and a widget for the most and least viewed posts, optionally within a category or a tag.
  • A sortable Views column on the post and page list tables.
  • The count on the REST API as a views field, and an AJAX counting path for sites behind a page cache.
  • A section on the WP-Stats page when that plugin is installed.

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.

Usage

The simplest way, and the only one that works in a block theme without editing template files, is the shortcode. Put it in the post or page whose count you want shown:

The opening of the plugin's own description. The full text, installation notes and changelog are on its WordPress.org page.

Questions the author answers

How To View Stats With Widgets?
  • Go to WP-Admin -> Appearance -> Widgets
  • The widget name is Views.
To Display Least Viewed Posts

<?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);
To Display Most Viewed Posts

<?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);
To Display Least Viewed Posts By Tag

<?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.
To Display Most Viewed Posts By Tag

<?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.
To Display Least Viewed Posts For A Category

<?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').

Latest changelog entry

2.0.1

  • NEW: A Settings link on the plugin’s row on the Plugins screen
  • FIXED: “Count Views From” was only honoured while the page rendered. On a cached site the counting happens through a separate AJAX or REST call instead, and that path never asked the setting — so with “Registered Users Only” a guest hitting a cached page was still counted, and the bot exclusion never applied there either. Both endpoints now check the setting against the actual visitor’s login state

Screenshots

From WordPress.org.

Tagged

Plugins that share its tags

#286 by installs

Post Views Counter

by dFactory

Count and display post views, track site-wide visits, and see what content works – inside WordPress. Fast, easy to use and privacy-first.

Installs
100,000+
Rating
4.9 (1.2K)
Updated
8 days ago

#348 by installs

Statify

by pluginkollektiv

Visitor statistics for WordPress with focus on data protection, transparency and clarity. Perfect as a widget in your WordPress Dashboard.

Installs
100,000+
Rating
4.8 (51)
Updated
41 days ago

A simple, yet powerful WordPress analytics plugin that gives you privacy-friendly stats to grow your website. A Google Analytics alternative.

Installs
100,000+
Rating
4.8 (167)
Updated
9 days ago

Where this page's numbers come from

Read from the WordPress.org plugin API on , when WordPress 7.1.4 was the current release. WordPress.org rounds active installs into buckets. These are the directory's figures, not my verdict, and I haven't tested this plugin. The author takes donations at their donate page.