PluginProbe ʕ •ᴥ•ʔ
Post Views Counter / 1.7.3
Post Views Counter v1.7.3
1.7.13 1.7.12 1.7.11 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.2.0 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.2 1.3.2.1 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.7.0 1.7.1 1.7.10 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9
post-views-counter / readme.txt
post-views-counter Last commit date
assets 5 months ago blocks 5 months ago css 5 months ago includes 5 months ago js 5 months ago languages 5 months ago index.php 6 years ago post-views-counter.php 5 months ago readme.txt 5 months ago
readme.txt
443 lines
1 === Post Views Counter ===
2 Contributors: dfactory
3 Tags: counter, postviews, statistics, analytics, pageviews
4 Requires at least: 6.3.0
5 Requires PHP: 7.0
6 Tested up to: 6.9
7 Stable tag: 1.7.3
8 License: MIT License
9 License URI: http://opensource.org/licenses/MIT
10
11 Post Views Counter allows you to collect and display how many times a post, page, or other content has been viewed in a simple, fast and reliable way.
12
13 == Description ==
14
15 Post Views Counter allows you to collect and display how many times a post, page, or other content has been viewed in a simple, fast and reliable way.
16
17 [Post Views Counter](https://postviewscounter.com/) gives you clear, accurate post view stats — right inside WordPress. No external tools. No bloat. Just the numbers you need to see what’s working.
18
19 = Key Benefits =
20
21 Clarity, speed, and control:
22
23 - **Clear, Focused Metrics** — You get a clear picture of how your posts are performing.
24 - **Made for WordPress** — Runs entirely in your site. No GA, no third-party pipes; accurate counts in your Dashboard.
25 - **Privacy-first** — Data lives on your server, with controls that respect visitors’ rights and privacy regulations.
26 - **Works at scale** — Minimal overhead, no external scripts, Multisite-ready.
27 - **Display anywhere** — Automatically show counts, or place them exactly where you want via blocks or shortcode.
28
29 = Features =
30
31 Practical features that matter:
32
33 - Count & display views for **any post type** you select.
34 - Three counting modes: **PHP, JavaScript, REST API**
35 - Dashboard post views **stats widget**
36 - Sortable Post Views **admin column**
37 - Exclude bots, logged-in users, specific roles, or IPs
38 - Manually adjust a post’s views when needed.
39 - Query and **order content by views** (developer-friendly)
40 - Custom REST API endpoints
41 - Option to set count interval
42 - One-click data import from **WP-PostViews**, **Statify** and **Page Views Count**
43 - Post views **display position**, automatic or manual via shortcode
44 - **Multisite** compatibile
45 - **WPML/Polylang** compatible; translation-ready (.pot)
46
47 = Post Views Counter Pro =
48
49 More capability without extra complexity:
50
51 - **Fast AJAX counting** for more accurate data.
52 - **Caching optimization** that guarantees performance even under heavy traffic.
53 - **Reports**: Views by Date, Post, Author to spot winners, trends, and top contributors.
54 - Customizable **Views Period** (e.g., last 7/30 days) to control the views count timeframe.
55 - **Export to CSV/XML** to download and share data.
56 - **Integrations** for ordering by views in popular builders (e.g., **Elementor Pro, Divi, GenerateBlocks**).
57
58 [Learn more about Pro →](https://postviewscounter.com/pricing/)
59
60 == Installation ==
61
62 1. Install Post Views Counter either via the WordPress.org plugin directory, or by uploading the files to your server
63 2. Activate the plugin through the 'Plugins' menu in WordPress
64 3. Go to the Post Views Counter settings and set your options.
65
66 == Frequently Asked Questions ==
67
68 For many frequently asked questions check the [Post Views Counter Docs](https://postviewscounter.com/documentation/).
69
70 = Why use Post Views Counter vs Google Analytics? =
71
72 Post Views Counter gives you clean, per-post view counts inside WordPress — fast, cache-friendly, and privacy-first, with data that stays on your server. Google Analytics might be an overkill when you just need accurate post/page views for editorial decisions.
73
74 = Can I use Post Views Counter alongside Google Analytics? =
75
76 Of course — many sites use both. Post Views Counter handles on-site, per-post view counts inside WordPress (no third-party scripts), while Google Analytics covers marketing funnels and acquisition.
77
78 = Is Post Views Counter GDPR compliant? =
79
80 Post Views Counter runs entirely inside WordPress with no third-party scripts and keeps data on your server — aligning with GDPR-style expectations.
81
82 = How do I get support? =
83
84 If you’re using the free version, please post your question in the WordPress.org support forum.
85
86 If you’ve purchased Post Views Counter Pro, your license includes one year of updates and premium support. You can contact us directly through our dedicated support channel available after logging into your account at [Post Views Counter](https://postviewscounter.com/), and our team will get back to you.
87
88 == Screenshots ==
89
90 1. screenshot-1.png
91 2. screenshot-2.png
92
93 == Changelog ==
94
95 = 1.7.3 =
96 * Fix: Settings validation for exclude/restrict display checkbox fields.
97 * Fix: Map nested array format to flat field keys before validation.
98 * Fix: Restrict display merge logic using correct field names.
99
100 = 1.7.2 =
101 * Fix: jQuery wrapper applied to vanilla JS files in build output.
102
103 = 1.7.1 =
104 * New: Enhanced settings UI with modern theme and improved visual design.
105 * Tweak: Improved settings field conditional visibility and validation.
106 * Tweak: Better taxonomy display controls and IP exclusion field descriptions.
107 * Fix: JS redeclaration errors by wrapping editor bundles in IIFE.
108 * Fix: Conditional visibility for nested import settings fields.
109
110 = 1.7.0 =
111 * New: Integrations page with user-controlled handling for third-party plugins.
112 * New (Pro): Beaver Builder integration for ordering posts by views in modules.
113 * New (Pro): Improved JetEngine integration copy and settings UI.
114 * Tweak: Refactored settings into modular page classes with backward compatibility.
115 * Fix: Editor JS scope collisions by wrapping editor bundles in IIFE.
116
117 = 1.6.1 =
118 * Tweak: Switch to Vite build system for improved development workflow.
119 * Fix (Pro): Fixed empty user agent handling in Fast AJAX mode.
120 * Tweak: Additional UI improvements for settings pages.
121
122 = 1.6.0 =
123 * New: Dedicated import framework with provider-aware analysis/reporting and strategy selector.
124 * New: Option to import views from Statify and Page Views Count plugins.
125 * New (Pro): Additional import strategies (skip existing, keep higher count, fill empty-only).
126 * New: Plugin Status panel now surfaces detected PVC database tables for easier troubleshooting.
127 * Tweak: Settings UI reorganized with refreshed copy, clearer visitor exclusion controls, and a polished Other tab experience.
128 * Tweak: Menu placement option moved to Display settings and mirrored for backward compatibility.
129
130 = 1.5.9 =
131 * New: Admin column modal chart with post views data
132 * New: Extended admin column modal with yearly and weekly views data (Pro)
133 * New: Admin column modal chart for terms and users (Pro)
134
135 = 1.5.8 =
136 * Tweak: Updated default value for object cache flushing interval
137 * Tweak: Treat empty or missing user agent as bot
138
139 = 1.5.7 =
140 * New: Count visits by referrer (Pro)
141 * Prevent duplicate AJAX calls in REST API mode
142 * Fix: Major improvements for FastAjax handling (Pro)
143 * Fix: Major object cache support improvements (Pro)
144 * Fix: Apply crawler/bot check filter for REST API endpoints
145 * Tweak: Remove unused storage and mutator methods
146
147 = 1.5.6 =
148 * New: Count visits by device, browser and OS (Pro)
149 * New: Count visits by browser language (Pro)
150 * New: Traffic Information dashboard widget (Pro)
151 * New: HTTP request improvements for caching and security (Pro)
152 * New: Client size bot detection (Pro)
153 * Tweak: Fix and simplify post views shortcode for loops
154 * Tweak: Adjust the post views display in Gutenberg editor
155 * Tweak: Check db query results and log error
156
157 = 1.5.5 =
158 * New: Count Time option to store the views in GMT or Local time (Pro)
159 * New: Reports extended with Author Posts and Author Archive (Pro)
160 * New: Counting Jet Engine Profile Builder user profiles as archive view (Pro)
161 * Tweak: Improved logic for Admin Display and Admin Edit
162 * Tweak: Settings UI improvements
163
164 = 1.5.4 =
165 * New: Caching compatibility option (Pro)
166
167 = 1.5.3 =
168 * Tweak: WordPress 6.8 compatibility
169 * Tweak: Move admin column options to Display settings
170 * Tweak: Added pvc_current_scheme_color filter hook to adjust chart colors
171
172 = 1.5.2 =
173 * Tweak: Updated crawlers list
174 * Tweak: Updated Chart.js to 4.4.8
175 * New: Add orderby post_views support to Elementor Pro posts query (Pro)
176 * New: Add orderby post_views support to Divi theme blog module (Pro)
177 * New: Add orderby post_views support to GenerateBlocks query (Pro)
178 * New: Option to exclude AI bots visits from counting (Pro)
179
180 = 1.5.1 =
181 * Fix: Undefined variable $post_type warning in admin columns
182
183 = 1.5.0 =
184 * Fix: Deprecated DateTime dynamic property
185 * Tweak:Implement AJAX queue for saving dashboard user options
186 * Tweak: Update bot detection class
187 * Tweak: Add widget loaded JS event
188 * Tweak: Fix typo in widget tooltip
189 * Tweak: Improve dahboard widgets UI
190 * New: Dashboard widgets revamp (Pro)
191 * New: Added weekly and yearly dashboard widgets navigation (Pro)
192 * New: Added trend (increase/decrease) to dashboard widget charts (Pro)
193 * New: Taxonomy & Terms selection in Views by Post reports (Pro)
194
195 = 1.4.8 =
196 * New: Introducing Post Views block
197 * New: Introducing Most Viewed Posts block
198 * Tweak: Updated Chart.js to 4.4.6
199
200 = 1.4.7 =
201 * New: Dynamic views loading option (Pro)
202 * Fix: Multi-sorting queries with post_views orderby parameter
203
204 = 1.4.6 =
205 * Fix: Bulk posts selection
206 * Fix: Additional SQL queries escaping
207 * Tweak: Call to undefined function is_favicon()
208 * Tweak: Enqueue main script in header instead of footer
209 * Tweak: Better JS error handling
210 * Tweak: Updated Chart.js to 4.4.2
211
212 = 1.4.5 =
213 * Fix: Post views bulk saving security
214 * Tweak: Removed WP Rocket as bot in crawler detection
215
216 = 1.4.4 =
217 * New: Option to enter meta_key for importing the views
218 * New: Revamped Reports for Views by Date, Views by Post and Views by Author (Pro)
219 * New: REST API support for post, site, term and user views (Pro)
220 * New: Views Period option to display views from a selected time period instead of total (Pro)
221 * New: [site-views] shortcode for total site views display (Pro)
222 * Tweak: Improved icon handling
223 * Tweak: Updated crawler detection
224
225 = 1.4.3 =
226 * Tweak: Update languages file
227
228 = 1.4.2 =
229 * New: Option to select position of the plugin menu
230
231 = 1.4.1 =
232 * Fix: Frontpage views not recorded properly
233
234 = 1.4 =
235 * New: Introducing Post Views Counter Pro
236 * New: Fast Ajax views counting mode (Pro)
237 * New: Google AMP support (Pro)
238 * New: Taxonomy term views (Pro)
239 * New: Author archive views (Pro)
240 * New: Cookies/Cookieless data storage option (Pro)
241 * New: Dedicated Reports page (Pro)
242 * New: Exporting views to CSV or XML files (Pro)
243 * Tweak: Improved validation and sanitization
244 * Tweak: Chart.js updated to 4.3.0
245
246 = 1.3.13 =
247 * New: Compatibility with WP 6.2 and PHP 8.2
248 * Fix: Invalid year in seconds
249 * Fix: Possible invalid cookie data in views storage
250 * Fix: Default database prefix
251 * Tweak: Switch from wp_localize_script to wp_add_inline_script
252 * Tweak: Updated bot detection
253
254
255 = 1.3.12 =
256 * Fix: Frontend Javascript rewritten from jQuery to Vanilla JS
257 * Fix: Admin Bar Style loading on every page
258 * Fix: Network initialization process for new sites
259 * Fix: IP address encryption
260 * Fix: REST API endpoints
261 * Fix: Removed couple of deprecated functions
262 * Tweak: Updated chart.js script to version 3.9.1
263 * Tweak: Added SameSite attribute to cookie
264
265 = 1.3.11 =
266 * Fix: Potentailly incorrect counting of post views in edge case db queries
267 * Fix: Possible empty chart in dashboard
268 * Fix: Incorrect saving of dashboard widget user options
269 * Tweak: Updated Chart.js to version 3.7.0
270
271 = 1.3.10 =
272 * Fix: Post views column not working properly
273 * Tweak: Switched to openssl_encrypt method for IP encryption
274 * Tweak: Improved user input escaping
275
276 = 1.3.9 =
277 * Tweak: Remove unnecessary plugin files
278
279 = 1.3.8 =
280 * Tweak: Improved user input escaping
281
282 = 1.3.7 =
283 * Tweak: Implemented internal settings API
284
285 = 1.3.6 =
286 * Fix: Option to hide admin bar chart
287
288 = 1.3.5 =
289 * New: Option to hide admin bar chart
290 * Fix: Small security bug with views label
291 * Tweak: Remove unnecessary CSS on every page
292
293 = 1.3.4 =
294 * New: Post Views stats preview in the admin bar
295 * New: Top Posts data available in the dashboard widget
296 * Tweak: Improved privacy using IP encrypting
297 * Tweak: PHP 8.x compatibility
298
299 = 1.3.3 =
300 * Fix: PHP Notice: Trying to get property 'colors' of non-object
301 * Fix: PHP Notice: register_rest_route was called incorrectly
302
303 = 1.3.2 =
304 * New: Introducing dashboard widget navigation
305 * New: Counter support for Media (attachments)
306 * Tweak: Extended views query for handling complex date/time requests
307
308 = 1.3.1 =
309 * Fix: Gutenberg CSS file missing
310 * Tweak: POT translation file update
311
312 = 1.3 =
313 * New: Gutenberg compatibility
314 * New: Additional options in widgets: post author and display style
315 * Fix: Undefined variables when IP saving enabled
316 * Fix: Check cookie not being triggered in Fast Ajax mode
317 * Fix: Invalid arguments in implode function causing warning
318 * Fix: Thumbnail size option did not show up after thumbnail checkbox was checked
319 * Fix: Saving post (in quick edit mode too) did not update post views
320
321 = 1.2.14 =
322 * Fix: Bulk edit post views count reset issue
323
324 = 1.2.13 =
325 * New: Experimental Fast AJAX counter method (10+ times faster)
326
327 = 1.2.12 =
328 * New: GDPR compatibility with Cookie Notice plugin
329
330 = 1.2.11 =
331 * Tweak: Additional IP expiration checks added as an option
332
333 = 1.2.10 =
334 * New: Additional transient based IP expiration checks
335 * Tweak: Chart.js script update to 2.7.1
336
337 = 1.2.9 =
338 * Fix: WooCommerce products list table broken
339
340 = 1.2.8 =
341 * New: Multisite compatibility
342 * Fix: Undefined index post_views_column on post_views_counter/includes/settings.php
343 * Tweak: Improved user IP handling
344
345 = 1.2.7 =
346 * Fix: Chart data not updating for object cached installs due to missing expire parameter
347 * Fix: Bug preventing hiding the counter based on user role.
348 * Fix: Undefined notice in the admin dashboard request
349
350 = 1.2.6 =
351 * Fix: Hardcoded post_views database table prefix
352
353 = 1.2.5 =
354 * New: REST API counter mode
355 * New: Adjust dashboard chart colors to admin color scheme
356 * Tweak: Dashboard chart query optimization
357 * Tweak: post_views database table optimization
358 * Tweak: Added plugin documentation link
359
360 = 1.2.4 =
361 * New: Advanced crawler detection
362 * Tweak: Chart.js script update to 2.4.0
363
364 = 1.2.3 =
365 * New: IP wildcard support
366 * Tweak: Delete post_views database table on deactivation
367
368 = 1.2.2 =
369 * Fix: Notice undefined variable: post_ids, thanks to [zytzagoo](https://github.com/zytzagoo)
370 * Tweak: Switched translation files storage, from local to WP repository
371
372 = 1.2.1 =
373 * New: Option to display post views on select page types
374 * Tweak: Dashboard widget query optimization
375
376 = 1.2.0 =
377 * New: Dashboard post views stats widget
378 * Fix: A couple of typos in method names
379
380 = 1.1.4 =
381 * Fix: Dashicons link broken.
382 * Tweak: Confirmed WordPress 4.4 compatibility
383
384 = 1.1.3 =
385 * Fix: Duplicated views count in custom post types
386 * Fix: Exclude visitors checkboxes not working
387
388 = 1.1.2 =
389 * Fix: Most viewed posts widget broken
390
391 = 1.1.1 =
392 * Tweak: Enable edit views on new post.
393 * Tweak: Extend WP_Query post data with post_views
394
395 = 1.1.0 =
396 * New: Quick post views edit
397 * New: Bulk post views edit
398 * Tweak: Admin UI improvements
399
400 = 1.0.12 =
401 * New: Italian translation, thanks to [Rene Querin](http://www.q-design.it)
402
403 = 1.0.11 =
404 * New: French translation, thanks to [Theophil Bethel](http://reseau-chretien-gironde.fr/)
405
406 = 1.0.10 =
407 * New: Option to limit post views editing to admins only
408
409 = 1.0.9 =
410 * New: Spanish translation, thanks to [Carlos Rodriguez](http://cglevel.com/)
411
412 = 1.0.8 =
413 * New: Croation translation, thanks to [Tomas Trkulja](http://zytzagoo.net/blog/)
414
415 = 1.0.7 =
416 * New: Possibility to manually set views count for each post
417 * New: Plugin development moved to [dFactory GitHub Repository](https://github.com/dfactoryplugins)
418
419 = 1.0.6 =
420 * New: Object cache support, thanks to [Tomas Trkulja](http://zytzagoo.net/blog/)
421 * New: Hebrew translation, thanks to [Ahrale Shrem](http://atar4u.com/)
422
423 = 1.0.5 =
424 * Tweak: Added number_format_i18n for displayed views count
425 * Tweak: Additional action hook for developers
426
427 = 1.0.4 =
428 * Fix: Possible issue with remove_post_views_count function
429
430 = 1.0.3 =
431 * New: Russian translation, thanks to moonkir
432 * Fix: Remove [post-views] shortcode from post excerpts if excerpt is empty
433
434 = 1.0.2 =
435 * Fix: Pluggable functions initialized too lately
436
437 = 1.0.0 =
438 Initial release
439
440 == Upgrade Notice ==
441
442 = 1.7.3 =
443 Fixed settings validation for exclude visitors and restrict display checkbox fields.