PluginProbe ʕ •ᴥ•ʔ
Post Views Counter / 1.7.4
Post Views Counter v1.7.4
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
449 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.4
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.4 =
96 * New: Month-over-Month anomaly detection traffic signals in admin columns.
97 * Tweak: Add loading state UI to modal charts.
98 * Fix: Month period rollover calculation in chart navigation.
99 * Fix: Cookie validation for empty or malformed segments in frontend.
100
101 = 1.7.3 =
102 * Fix: Settings validation for exclude/restrict display checkbox fields.
103 * Fix: Map nested array format to flat field keys before validation.
104 * Fix: Restrict display merge logic using correct field names.
105
106 = 1.7.2 =
107 * Fix: jQuery wrapper applied to vanilla JS files in build output.
108
109 = 1.7.1 =
110 * New: Enhanced settings UI with modern theme and improved visual design.
111 * Tweak: Improved settings field conditional visibility and validation.
112 * Tweak: Better taxonomy display controls and IP exclusion field descriptions.
113 * Fix: JS redeclaration errors by wrapping editor bundles in IIFE.
114 * Fix: Conditional visibility for nested import settings fields.
115
116 = 1.7.0 =
117 * New: Integrations page with user-controlled handling for third-party plugins.
118 * New (Pro): Beaver Builder integration for ordering posts by views in modules.
119 * New (Pro): Improved JetEngine integration copy and settings UI.
120 * Tweak: Refactored settings into modular page classes with backward compatibility.
121 * Fix: Editor JS scope collisions by wrapping editor bundles in IIFE.
122
123 = 1.6.1 =
124 * Tweak: Switch to Vite build system for improved development workflow.
125 * Fix (Pro): Fixed empty user agent handling in Fast AJAX mode.
126 * Tweak: Additional UI improvements for settings pages.
127
128 = 1.6.0 =
129 * New: Dedicated import framework with provider-aware analysis/reporting and strategy selector.
130 * New: Option to import views from Statify and Page Views Count plugins.
131 * New (Pro): Additional import strategies (skip existing, keep higher count, fill empty-only).
132 * New: Plugin Status panel now surfaces detected PVC database tables for easier troubleshooting.
133 * Tweak: Settings UI reorganized with refreshed copy, clearer visitor exclusion controls, and a polished Other tab experience.
134 * Tweak: Menu placement option moved to Display settings and mirrored for backward compatibility.
135
136 = 1.5.9 =
137 * New: Admin column modal chart with post views data
138 * New: Extended admin column modal with yearly and weekly views data (Pro)
139 * New: Admin column modal chart for terms and users (Pro)
140
141 = 1.5.8 =
142 * Tweak: Updated default value for object cache flushing interval
143 * Tweak: Treat empty or missing user agent as bot
144
145 = 1.5.7 =
146 * New: Count visits by referrer (Pro)
147 * Prevent duplicate AJAX calls in REST API mode
148 * Fix: Major improvements for FastAjax handling (Pro)
149 * Fix: Major object cache support improvements (Pro)
150 * Fix: Apply crawler/bot check filter for REST API endpoints
151 * Tweak: Remove unused storage and mutator methods
152
153 = 1.5.6 =
154 * New: Count visits by device, browser and OS (Pro)
155 * New: Count visits by browser language (Pro)
156 * New: Traffic Information dashboard widget (Pro)
157 * New: HTTP request improvements for caching and security (Pro)
158 * New: Client size bot detection (Pro)
159 * Tweak: Fix and simplify post views shortcode for loops
160 * Tweak: Adjust the post views display in Gutenberg editor
161 * Tweak: Check db query results and log error
162
163 = 1.5.5 =
164 * New: Count Time option to store the views in GMT or Local time (Pro)
165 * New: Reports extended with Author Posts and Author Archive (Pro)
166 * New: Counting Jet Engine Profile Builder user profiles as archive view (Pro)
167 * Tweak: Improved logic for Admin Display and Admin Edit
168 * Tweak: Settings UI improvements
169
170 = 1.5.4 =
171 * New: Caching compatibility option (Pro)
172
173 = 1.5.3 =
174 * Tweak: WordPress 6.8 compatibility
175 * Tweak: Move admin column options to Display settings
176 * Tweak: Added pvc_current_scheme_color filter hook to adjust chart colors
177
178 = 1.5.2 =
179 * Tweak: Updated crawlers list
180 * Tweak: Updated Chart.js to 4.4.8
181 * New: Add orderby post_views support to Elementor Pro posts query (Pro)
182 * New: Add orderby post_views support to Divi theme blog module (Pro)
183 * New: Add orderby post_views support to GenerateBlocks query (Pro)
184 * New: Option to exclude AI bots visits from counting (Pro)
185
186 = 1.5.1 =
187 * Fix: Undefined variable $post_type warning in admin columns
188
189 = 1.5.0 =
190 * Fix: Deprecated DateTime dynamic property
191 * Tweak:Implement AJAX queue for saving dashboard user options
192 * Tweak: Update bot detection class
193 * Tweak: Add widget loaded JS event
194 * Tweak: Fix typo in widget tooltip
195 * Tweak: Improve dahboard widgets UI
196 * New: Dashboard widgets revamp (Pro)
197 * New: Added weekly and yearly dashboard widgets navigation (Pro)
198 * New: Added trend (increase/decrease) to dashboard widget charts (Pro)
199 * New: Taxonomy & Terms selection in Views by Post reports (Pro)
200
201 = 1.4.8 =
202 * New: Introducing Post Views block
203 * New: Introducing Most Viewed Posts block
204 * Tweak: Updated Chart.js to 4.4.6
205
206 = 1.4.7 =
207 * New: Dynamic views loading option (Pro)
208 * Fix: Multi-sorting queries with post_views orderby parameter
209
210 = 1.4.6 =
211 * Fix: Bulk posts selection
212 * Fix: Additional SQL queries escaping
213 * Tweak: Call to undefined function is_favicon()
214 * Tweak: Enqueue main script in header instead of footer
215 * Tweak: Better JS error handling
216 * Tweak: Updated Chart.js to 4.4.2
217
218 = 1.4.5 =
219 * Fix: Post views bulk saving security
220 * Tweak: Removed WP Rocket as bot in crawler detection
221
222 = 1.4.4 =
223 * New: Option to enter meta_key for importing the views
224 * New: Revamped Reports for Views by Date, Views by Post and Views by Author (Pro)
225 * New: REST API support for post, site, term and user views (Pro)
226 * New: Views Period option to display views from a selected time period instead of total (Pro)
227 * New: [site-views] shortcode for total site views display (Pro)
228 * Tweak: Improved icon handling
229 * Tweak: Updated crawler detection
230
231 = 1.4.3 =
232 * Tweak: Update languages file
233
234 = 1.4.2 =
235 * New: Option to select position of the plugin menu
236
237 = 1.4.1 =
238 * Fix: Frontpage views not recorded properly
239
240 = 1.4 =
241 * New: Introducing Post Views Counter Pro
242 * New: Fast Ajax views counting mode (Pro)
243 * New: Google AMP support (Pro)
244 * New: Taxonomy term views (Pro)
245 * New: Author archive views (Pro)
246 * New: Cookies/Cookieless data storage option (Pro)
247 * New: Dedicated Reports page (Pro)
248 * New: Exporting views to CSV or XML files (Pro)
249 * Tweak: Improved validation and sanitization
250 * Tweak: Chart.js updated to 4.3.0
251
252 = 1.3.13 =
253 * New: Compatibility with WP 6.2 and PHP 8.2
254 * Fix: Invalid year in seconds
255 * Fix: Possible invalid cookie data in views storage
256 * Fix: Default database prefix
257 * Tweak: Switch from wp_localize_script to wp_add_inline_script
258 * Tweak: Updated bot detection
259
260
261 = 1.3.12 =
262 * Fix: Frontend Javascript rewritten from jQuery to Vanilla JS
263 * Fix: Admin Bar Style loading on every page
264 * Fix: Network initialization process for new sites
265 * Fix: IP address encryption
266 * Fix: REST API endpoints
267 * Fix: Removed couple of deprecated functions
268 * Tweak: Updated chart.js script to version 3.9.1
269 * Tweak: Added SameSite attribute to cookie
270
271 = 1.3.11 =
272 * Fix: Potentailly incorrect counting of post views in edge case db queries
273 * Fix: Possible empty chart in dashboard
274 * Fix: Incorrect saving of dashboard widget user options
275 * Tweak: Updated Chart.js to version 3.7.0
276
277 = 1.3.10 =
278 * Fix: Post views column not working properly
279 * Tweak: Switched to openssl_encrypt method for IP encryption
280 * Tweak: Improved user input escaping
281
282 = 1.3.9 =
283 * Tweak: Remove unnecessary plugin files
284
285 = 1.3.8 =
286 * Tweak: Improved user input escaping
287
288 = 1.3.7 =
289 * Tweak: Implemented internal settings API
290
291 = 1.3.6 =
292 * Fix: Option to hide admin bar chart
293
294 = 1.3.5 =
295 * New: Option to hide admin bar chart
296 * Fix: Small security bug with views label
297 * Tweak: Remove unnecessary CSS on every page
298
299 = 1.3.4 =
300 * New: Post Views stats preview in the admin bar
301 * New: Top Posts data available in the dashboard widget
302 * Tweak: Improved privacy using IP encrypting
303 * Tweak: PHP 8.x compatibility
304
305 = 1.3.3 =
306 * Fix: PHP Notice: Trying to get property 'colors' of non-object
307 * Fix: PHP Notice: register_rest_route was called incorrectly
308
309 = 1.3.2 =
310 * New: Introducing dashboard widget navigation
311 * New: Counter support for Media (attachments)
312 * Tweak: Extended views query for handling complex date/time requests
313
314 = 1.3.1 =
315 * Fix: Gutenberg CSS file missing
316 * Tweak: POT translation file update
317
318 = 1.3 =
319 * New: Gutenberg compatibility
320 * New: Additional options in widgets: post author and display style
321 * Fix: Undefined variables when IP saving enabled
322 * Fix: Check cookie not being triggered in Fast Ajax mode
323 * Fix: Invalid arguments in implode function causing warning
324 * Fix: Thumbnail size option did not show up after thumbnail checkbox was checked
325 * Fix: Saving post (in quick edit mode too) did not update post views
326
327 = 1.2.14 =
328 * Fix: Bulk edit post views count reset issue
329
330 = 1.2.13 =
331 * New: Experimental Fast AJAX counter method (10+ times faster)
332
333 = 1.2.12 =
334 * New: GDPR compatibility with Cookie Notice plugin
335
336 = 1.2.11 =
337 * Tweak: Additional IP expiration checks added as an option
338
339 = 1.2.10 =
340 * New: Additional transient based IP expiration checks
341 * Tweak: Chart.js script update to 2.7.1
342
343 = 1.2.9 =
344 * Fix: WooCommerce products list table broken
345
346 = 1.2.8 =
347 * New: Multisite compatibility
348 * Fix: Undefined index post_views_column on post_views_counter/includes/settings.php
349 * Tweak: Improved user IP handling
350
351 = 1.2.7 =
352 * Fix: Chart data not updating for object cached installs due to missing expire parameter
353 * Fix: Bug preventing hiding the counter based on user role.
354 * Fix: Undefined notice in the admin dashboard request
355
356 = 1.2.6 =
357 * Fix: Hardcoded post_views database table prefix
358
359 = 1.2.5 =
360 * New: REST API counter mode
361 * New: Adjust dashboard chart colors to admin color scheme
362 * Tweak: Dashboard chart query optimization
363 * Tweak: post_views database table optimization
364 * Tweak: Added plugin documentation link
365
366 = 1.2.4 =
367 * New: Advanced crawler detection
368 * Tweak: Chart.js script update to 2.4.0
369
370 = 1.2.3 =
371 * New: IP wildcard support
372 * Tweak: Delete post_views database table on deactivation
373
374 = 1.2.2 =
375 * Fix: Notice undefined variable: post_ids, thanks to [zytzagoo](https://github.com/zytzagoo)
376 * Tweak: Switched translation files storage, from local to WP repository
377
378 = 1.2.1 =
379 * New: Option to display post views on select page types
380 * Tweak: Dashboard widget query optimization
381
382 = 1.2.0 =
383 * New: Dashboard post views stats widget
384 * Fix: A couple of typos in method names
385
386 = 1.1.4 =
387 * Fix: Dashicons link broken.
388 * Tweak: Confirmed WordPress 4.4 compatibility
389
390 = 1.1.3 =
391 * Fix: Duplicated views count in custom post types
392 * Fix: Exclude visitors checkboxes not working
393
394 = 1.1.2 =
395 * Fix: Most viewed posts widget broken
396
397 = 1.1.1 =
398 * Tweak: Enable edit views on new post.
399 * Tweak: Extend WP_Query post data with post_views
400
401 = 1.1.0 =
402 * New: Quick post views edit
403 * New: Bulk post views edit
404 * Tweak: Admin UI improvements
405
406 = 1.0.12 =
407 * New: Italian translation, thanks to [Rene Querin](http://www.q-design.it)
408
409 = 1.0.11 =
410 * New: French translation, thanks to [Theophil Bethel](http://reseau-chretien-gironde.fr/)
411
412 = 1.0.10 =
413 * New: Option to limit post views editing to admins only
414
415 = 1.0.9 =
416 * New: Spanish translation, thanks to [Carlos Rodriguez](http://cglevel.com/)
417
418 = 1.0.8 =
419 * New: Croation translation, thanks to [Tomas Trkulja](http://zytzagoo.net/blog/)
420
421 = 1.0.7 =
422 * New: Possibility to manually set views count for each post
423 * New: Plugin development moved to [dFactory GitHub Repository](https://github.com/dfactoryplugins)
424
425 = 1.0.6 =
426 * New: Object cache support, thanks to [Tomas Trkulja](http://zytzagoo.net/blog/)
427 * New: Hebrew translation, thanks to [Ahrale Shrem](http://atar4u.com/)
428
429 = 1.0.5 =
430 * Tweak: Added number_format_i18n for displayed views count
431 * Tweak: Additional action hook for developers
432
433 = 1.0.4 =
434 * Fix: Possible issue with remove_post_views_count function
435
436 = 1.0.3 =
437 * New: Russian translation, thanks to moonkir
438 * Fix: Remove [post-views] shortcode from post excerpts if excerpt is empty
439
440 = 1.0.2 =
441 * Fix: Pluggable functions initialized too lately
442
443 = 1.0.0 =
444 Initial release
445
446 == Upgrade Notice ==
447
448 = 1.7.4 =
449 Adds traffic signal anomaly detection, improves modal architecture.