PluginProbe
WebberZone Top 10 — Popular Posts / 4.5.1
WebberZone Top 10 — Popular Posts v4.5.1
4.5.1 4.5.0 4.4.3 4.4.2 4.4.1 4.4.0 4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 trunk 1.0 1.0.1 1.1 1.2 1.3 1.4 1.4.1 1.5 1.5.1 1.5.2 1.5.3 1.6 1.6.1 All 117 releases
← All changes | readme.txt +231 -84 1.3 → 4.5.1 View file →
@@ -1,84 +1,231 @@
1 -=== Top 10 ===
2 -Tags: popular posts, top posts, counter, daily popular, page views, statistics
3 -Contributors: Ajay, Mark Ghosh
4 -Donate link: http://ajaydsouza.com/donate/
5 -Stable tag: trunk
6 -Requires at least: 2.5
7 -Tested up to: 2.7.1
8 -
9 -
10 -Track daily and total visits on your blog posts and display the count as well as popular posts.
11 -
12 -== Description ==
13 -
14 -WordPress doesn't count page views by default. <a href="http://ajaydsouza.com/wordpress/plugins/top-10/">Top 10</a> will count the number of page views on your single posts on a daily as well as overall basis. You can then display the page view count on individual posts and pages as well as display a list of most popular posts based on page views.
15 -
16 -Includes a sidebar widget to display the popular posts. And, all settings can be configured from within your WordPress Admin area itself! You can choose to disable tracking of author visits on their own posts.
17 -
18 -= Features =
19 -* Counts daily and total page views on single posts and pages
20 -* Display the count on the single posts and pages
21 -* Customize the text that can be displayed
22 -* Display a list of daily and/or overall popular posts by page count. The number can be customized.
23 -* Sidebar widgets available for daily popular and overall popular posts.
24 -* View list of daily and/or overall popular posts from within the dashboard itself
25 -* Clean uninstall if you choose to delete the plugin from within WP-Admin
26 -* Works with caching plugins like WP-Super-Cache
27 -
28 -
29 -= Changelog =
30 -
31 -* 1.3
32 - - "Daily Popular" can now be selected over user selectable number of days.
33 - - Option to turn off display of number of pageviews in popular posts list
34 - - Option to make "Daily Popular" list compatible with caching plugins
35 - - Posts > Top 10 page to view detailed list of popular posts
36 -* 1.2
37 - - Do not display Drafts in Related Posts anymore
38 - - Option to disable tracking author visits on their own posts
39 - - Display top posts for the current day
40 -* 1.1
41 - - Added the Popular Posts sidebar widget in your theme. Find it under <strong>Appearance > Widgets</strong>
42 - - Uses JavaScript by default to count. Hence, better support for different caching plugins
43 - - Change format to display count. Now, a single textarea instead of two text boxes.
44 - - Added WordPress 2.7 Dashboard widget to display popular posts on your Dashboard
45 -* 1.0.1 - Release
46 -
47 -
48 -== Installation ==
49 -
50 -1. Download the plugin
51 -
52 -2. Extract the contents of top-10.zip to wp-content/plugins/ folder. You should get a folder called top-10.
53 -
54 -3. Activate the Plugin in WP-Admin.
55 -
56 -4. Goto Settings > Top 10 to configure
57 -
58 -5. Goto Appearance > Widgets to add the Popular Posts sidebar widget to your theme
59 -
60 -6. Goto Posts > Top 10 to view the list of popular posts
61 -
62 -
63 -
64 -== Frequently Asked Questions ==
65 -
66 -= What are the requirements for this plugin? =
67 -
68 -WordPress 2.5 or above
69 -
70 -= Can this plugin replace Google Analytics? =
71 -
72 -Never. This plugin is designed to only track the number of pageviews on your blog posts and display the same. It cannot replace Google Analytics or any other full fledged statistics application.
73 -
74 -= Can I customize what is displayed? =
75 -
76 -All options can be customized within the Options page in WP-Admin itself
77 -
78 -For more information, please visit http://ajaydsouza.com/wordpress/plugins/top-10/
79 -
80 -= Support =
81 -
82 -All questions need to be redirected at the Support Forum at http://ajaydsouza.org/
83 -
84 -No support questions will be entertained in the comments or via email.
1 +=== WebberZone Top 10 — Popular Posts ===
2 +Tags: popular posts, post views, page views, most viewed posts, popular posts widget, trending posts, post views counter, multisite, block, shortcode
3 +Contributors: webberzone, ajay
4 +Donate link: https://wzn.io/donate-wz
5 +Stable tag: 4.5.1
6 +Requires at least: 6.8
7 +Tested up to: 7.1
8 +Requires PHP: 7.4
9 +License: GPLv2 or later
10 +
11 +Track post views and page views, and display popular posts and trending content on your WordPress site.
12 +
13 +== Description ==
14 +
15 +WordPress lacks built-in page view tracking or a popular posts feature. [Top 10](https://webberzone.com/plugins/top-10/) solves this by counting views across posts, pages, and custom post types, then letting you showcase your most popular content.
16 +
17 +Top 10 provides blocks, widgets, shortcodes, and template functions for displaying popular posts and view counts across your site. All tracking data is stored locally in your WordPress database, with no external services involved.
18 +
19 +Top 10 includes comprehensive features such as thumbnail support, flexible display options, custom post type support, and developer-friendly extensibility. A built-in caching layer reduces server load, while AJAX-based tracking avoids page cache interference and works with most popular caching plugins.
20 +
21 +Top 10 also exposes a powerful API with WordPress actions and filters, allowing developers to customise queries, tracking behaviour, and output rendering without modifying core plugin files.
22 +
23 += Features =
24 +
25 +* **Page Counter**: Tracks hourly post views on posts, pages, and custom post types. Display counts automatically using blocks, shortcodes, or template functions
26 +* **Popular Posts**: Display most viewed posts by total counts or within custom time periods
27 +* **Gutenberg Support**: Dedicated “Popular Posts [Top 10]” block with configurable display options
28 +* **Multisite Dashboard**: Network-wide aggregated statistics across all sites in a multisite installation
29 +* **Widgets**: Sidebar widgets for daily and overall popular posts with extensive customisation
30 +* **Shortcodes**: Use `[tptn_list]` to display popular post lists and `[tptn_views]` to show view counts
31 +* **Thumbnails**:
32 + * WordPress post thumbnail support with custom `tptn_thumbnail` image size
33 + * Automatic extraction of the first image from post content
34 + * Manual thumbnail URLs via Edit Post screens
35 +* **Exclusions**: Exclude posts by category or post ID from popular post lists
36 +* **Styling**: Output wrapped in semantic CSS classes. Add custom CSS via settings or use included styles
37 +* **Admin Interface**: View daily and overall popular posts from the dashboard. Adds sortable view-count columns to post and page lists
38 +* **Export/Import**: Export count tables and settings, and restore them on the same site or other installs
39 +* **Caching Compatibility**: Works with WP Super Cache, W3 Total Cache, Quick Cache, and similar plugins
40 +* **Developer-Friendly**: Extensive filters and actions to customise queries, tracking behaviour, and output rendering
41 +
42 += Features in Top 10 Pro =
43 +
44 +* __Enhanced Tracking and Performance__
45 + * __Fast and High-Traffic Trackers__: Alternative tracking methods for improved performance on busy sites
46 + * __Site-wide Tracking__: Track views for the front page, posts page, archives, and searches in addition to individual content
47 + * __Query Optimisation__: MySQL `MAX_EXECUTION_TIME` directive to prevent long-running queries, configurable via settings and the `top_ten_query_max_execution_time` filter
48 + * __Data Retention Override__: Customizable data retention period (default 180 days via `TOP_TEN_STORE_DATA`)
49 + * __Lazy Loading__: Render popular posts lists via JavaScript only when they are about to scroll into view, so full-page caching plugins can serve a page without baking in a live popular-posts query. Works with content, shortcodes, widgets, and the Popular Posts block; disable per instance with the `lazy_load` shortcode/block attribute
50 +
51 +* __Advanced Blocks and Widgets__
52 + * __Top 10 Query Block__: Query and display popular posts directly from the block or site editor
53 + * __Enhanced Top 10 Featured Image Block__: Support for multiple image sources with fallbacks
54 + * __Popular Posts Block Enhancements__:
55 + * Save and clear default block settings with a single click
56 + * Auto-insert default and global settings attributes with an option to disable
57 +
58 +* __Enhanced Admin Tools__
59 + * __Admin Bar Integration__: Admin bar menu item to view daily, total, and overall post counts, access admin pages, and clear cache
60 + * __Disable Admin Bar menu__: Setting to disable the Admin Bar menu
61 + * __Dashboard Access Control__: Setting to control which user roles can view the Top 10 dashboard
62 + * __Display Settings__: Setting to choose which post type screens display admin columns
63 + * __Mini "Top 10 Views Overview" widget__: Compact views-over-time chart on the WordPress Dashboard
64 + * __Multisite Settings Copy__: Tool to copy settings between sites in a multisite network
65 +
66 +* __Custom Display Options__
67 + * __Taxonomy-Specific Displays__: `display_only_on_tax_ids` parameter to restrict popular post displays to specific taxonomy terms
68 + * __Category Inclusion__: Edit Post meta box option to include popular posts from specific categories
69 + * __RSS Feed Filtering__: Filter RSS feeds by category or post type via settings or URL parameters
70 +
71 +* __WP-CLI Integration__
72 + * __`wp top10 counts`__: View, get, set, reset, export, and import post view counts from the command line
73 + * __`wp top10 db`__: Manage database tables — check status, create, update, recreate, prune old rows, force aggregation, truncate, and clean up orphaned counts
74 + * __`wp top10 cache`__: Flush, enable, disable, and check the status of the output cache
75 + * __`wp top10 settings`__: Get, set, export, and import plugin settings as JSON
76 + * __`wp top10 cron`__: View, enable, disable, and manually trigger the maintenance and aggregation cron jobs
77 + * __`wp top10 popular`__: List popular posts with counts using the same query as the front end
78 + * __`wp top10 status`__: Print a full plugin status overview
79 + * All destructive commands support `--dry-run` and `--force`; multisite commands support `--network` and `--blog-id`
80 +
81 +* __Developer-Friendly Features__
82 + * __Custom Post Type Sortable Columns__: Admin columns on supported custom post types with sortable functionality
83 +
84 += GDPR =
85 +
86 +Top 10 does not collect personal visitor data out of the box. Tracking data is stored locally in the `wp_top_ten` and `wp_top_ten_daily` database tables (table prefix may vary).
87 +
88 +You are responsible for ensuring GDPR compliance on your website.
89 +
90 += Translations =
91 +
92 +Top 10 is available for translation on [WordPress.org](https://translate.wordpress.org/projects/wp-plugins/top-10).
93 +See the [Translator Handbook](https://make.wordpress.org/polyglots/handbook/rosetta/theme-plugin-directories/) to contribute.
94 +
95 += Contribute =
96 +
97 +Top 10 is developed openly on [GitHub](https://github.com/webberzone/top-10).
98 +Fork the project and submit pull requests for bug fixes or improvements. Please do not use GitHub for support requests.
99 +
100 +== Other WebberZone Plugins ==
101 +
102 +* [Contextual Related Posts](https://wordpress.org/plugins/contextual-related-posts/) – Display related posts on your WordPress site and feeds
103 +* [Better Search](https://wordpress.org/plugins/better-search/) – Enhance WordPress search with relevance-based results
104 +* [Knowledge Base](https://wordpress.org/plugins/knowledgebase/) – Create a knowledge base or FAQ section
105 +* [WebberZone Snippetz](https://wordpress.org/plugins/add-to-all/) – Manage custom HTML, CSS, and JavaScript snippets
106 +* [Auto-Close](https://wordpress.org/plugins/autoclose/) – Automatically close comments, pingbacks, and trackbacks
107 +* [Popular Authors](https://wordpress.org/plugins/popular-authors/) – Display popular authors widgets. Addon for Top 10.
108 +* [Followed Posts](https://wordpress.org/plugins/where-did-they-go-from-here/) – Show related posts based on reader journeys
109 +* [WebberZone Link Warnings](https://wordpress.org/plugins/webberzone-link-warnings/) – Add accessible warnings for external links and target="_blank" links
110 +
111 +== Screenshots ==
112 +
113 +1. Top 10 – Popular posts overview in the WordPress admin
114 +2. Top 10 – Popular posts list with thumbnails
115 +
116 +== Installation ==
117 +
118 += WordPress install (easy way) =
119 +1. Go to Plugins → Add New in your WordPress Admin
120 +2. Search for “Top 10”
121 +3. Click Install Now and then Activate
122 +
123 += Manual install =
124 +1. Download the `top-10.zip` file
125 +2. Go to Plugins → Add New → Upload Plugin
126 +3. Upload the ZIP file and click Install Now
127 +4. Activate the plugin
128 +5. Configure settings under Top 10 → Settings
129 +
130 += Help and Support =
131 +* [Documentation](https://webberzone.com/support/product/top-10/)
132 +* [WordPress.org Support Forum](https://wordpress.org/support/plugin/top-10)
133 +
134 +== Frequently Asked Questions ==
135 +
136 += Where can I get help and support? =
137 +
138 +Before opening a support request, please check the following resources:
139 +
140 +* [FAQ on the WordPress.org plugin page](https://wordpress.org/plugins/top-10/faq/)
141 +* [FAQ on the WebberZone knowledge base](https://webberzone.com/support/product/top-10/)
142 +
143 +These cover the most common questions and are the fastest way to get answers, as they are actively maintained.
144 +
145 +If your question is not answered there, please create a new topic in the
146 +[WordPress.org support forum](https://wordpress.org/support/plugin/top-10/).
147 +This is the preferred support channel for the free plugin, and the forums are monitored regularly.
148 +
149 +Support for products sold and distributed by WebberZone is available **only**
150 +to users with an active, valid licence. Licensed users can request support [here](https://webberzone.com/request-support/).
151 +
152 += Can this plugin replace Google Analytics? =
153 +
154 +No. Top 10 tracks page views and displays popular posts. It is not designed to replace analytics platforms.
155 +
156 += How does tracking work? =
157 +
158 +Each visit is queued in a lightweight funnel table and aggregated into the count tables every five minutes by a cron job, so tracking never blocks page loads and works correctly behind page caches.
159 +
160 +For a full explanation of tracker types, the funnel flow, and how to adjust the aggregation interval, see [Trackers in Top 10](https://webberzone.com/support/knowledgebase/trackers-in-top-10/).
161 +
162 += How does scheduled maintenance work? =
163 +
164 +When enabled, Top 10 runs a scheduled task that periodically removes old entries
165 +from the `wp_top_ten_daily` table.
166 +
167 +Note: WordPress executes scheduled tasks on the first eligible page load.
168 +
169 += How can I report security bugs? =
170 +
171 +You can report security bugs through the Patchstack Vulnerability Disclosure Program.
172 +The Patchstack team help validate, triage and handle any security vulnerabilities.
173 +[Report a security vulnerability.](https://patchstack.com/database/vdp/top-10)
174 +
175 +== Changelog ==
176 +
177 += 4.5.1 =
178 +
179 +*Release Date - 19 September 2026*
180 +
181 +* Fixed:
182 + * Security: Hardened thumbnail dimension handling to prevent stored Cross-Site Scripting by an Author-level user via block attributes.
183 +
184 += 4.5.0 =
185 +
186 +Release date: 7 September 2026
187 +Release post: https://webberzone.com/announcements/top-10-v4-5/
188 +
189 +**Added**
190 +
191 +* [Pro] Popular Posts elements for Elementor, Bricks Builder and WPBakery Page Builder.
192 +* [Pro] Optional site-wide tracking for front pages, posts pages, archives and searches.
193 +* [Pro] Reduce Daily Table Size tool to combine older hourly records.
194 +* [Pro] `wp top10 db rollup` command for CLI and multisite use.
195 +
196 +**Changed**
197 +
198 +* Reduced admin overhead on large multisite networks by caching table metadata, probing WPP tables directly and using estimated row counts on the Tools page.
199 +* Sped up the dashboard with index-friendly `dp_date` ranges, optimized network popular-post queries and on-demand loading of historical tabs.
200 +* Setting defaults are now resolved from a lightweight list instead of building every settings field, so reading an option early in the page load no longer loads translations too early.
201 +
202 +**Security**
203 +
204 +* Hardened settings sanitization for users without the `unfiltered_html` capability.
205 +* Hardened referer and array handling in settings sanitization, and renamed the settings JS globals.
206 +
207 +**Fixed**
208 +
209 +* View tracking was lost during quick navigation or browser back-button restores.
210 +* View counts were recorded for prerendered or initially hidden pages.
211 +* Bot views were recorded from cached pages, and views were recorded for browser prefetches, prerenders and direct navigations to tracker URLs.
212 +* Tracker scripts did not run when loaded asynchronously after `DOMContentLoaded` had fired.
213 +* Generated output cache keys were not discoverable by the Clear Cache tools or the WP-CLI cache flush command.
214 +* Settings on a multisite network read another site's values in the same request after a `switch_to_blog()` call, when read via `tptn_get_option()` or the global `$tptn_settings`.
215 +* `tptn_get_settings()` returned `false` instead of an empty array when no settings had been saved yet.
216 +* Visit data was silently lost in funnel aggregation, and the Fast Tracker raised an undefined array key warning.
217 +* Plugin data was deleted when uninstalling one version while its paired free or Pro counterpart was active.
218 +* Improved compatibility with PHP 8.6.
219 +* [Pro] Daily counts in the `wp top10 popular` command did not respect the selected custom date range.
220 +
221 += Earlier versions =
222 +
223 +For the changelog of earlier versions, please refer to the [releases page on GitHub](https://github.com/WebberZone/top-10/releases).
224 +
225 +== Upgrade Notice ==
226 +
227 += 4.5.1 =
228 +Security release. Fixes a stored Cross-Site Scripting vulnerability that could be exploited by users with Author-level access or above. Update immediately.
229 +
230 += 4.5.0 =
231 +Adds page builder elements, site-wide tracking and a daily-table rollup tool. Fixes several cases of lost view counts and cuts admin overhead on large multisite networks.