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