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