PluginProbe
WebberZone Top 10 — Popular Posts / 4.4.3
WebberZone Top 10 — Popular Posts v4.4.3
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
top-10 / readme.txt

readme.txt in WebberZone Top 10 — Popular Posts 4.4.3, at readme.txt

348 lines 22.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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.4.3
6 Requires at least: 6.6
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 * __Query Optimisation__: MySQL `MAX_EXECUTION_TIME` directive to prevent long-running queries, configurable via settings and the `top_ten_query_max_execution_time` filter
47 * __Data Retention Override__: Customizable data retention period (default 180 days via `TOP_TEN_STORE_DATA`)
48 * __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
49
50 * __Advanced Blocks and Widgets__
51 * __Top 10 Query Block__: Query and display popular posts directly from the block or site editor
52 * __Enhanced Top 10 Featured Image Block__: Support for multiple image sources with fallbacks
53 * __Popular Posts Block Enhancements__:
54 * Save and clear default block settings with a single click
55 * Auto-insert default and global settings attributes with an option to disable
56
57 * __Enhanced Admin Tools__
58 * __Admin Bar Integration__: Admin bar menu item to view daily, total, and overall post counts, access admin pages, and clear cache
59 * __Disable Admin Bar menu__: Setting to disable the Admin Bar menu
60 * __Dashboard Access Control__: Setting to control which user roles can view the Top 10 dashboard
61 * __Display Settings__: Setting to choose which post type screens display admin columns
62 * __Mini "Top 10 Views Overview" widget__: Compact views-over-time chart on the WordPress Dashboard
63 * __Multisite Settings Copy__: Tool to copy settings between sites in a multisite network
64
65 * __Custom Display Options__
66 * __Taxonomy-Specific Displays__: `display_only_on_tax_ids` parameter to restrict popular post displays to specific taxonomy terms
67 * __Category Inclusion__: Edit Post meta box option to include popular posts from specific categories
68 * __RSS Feed Filtering__: Filter RSS feeds by category or post type via settings or URL parameters
69
70 * __WP-CLI Integration__
71 * __`wp top10 counts`__: View, get, set, reset, export, and import post view counts from the command line
72 * __`wp top10 db`__: Manage database tables — check status, create, update, recreate, prune old rows, force aggregation, truncate, and clean up orphaned counts
73 * __`wp top10 cache`__: Flush, enable, disable, and check the status of the output cache
74 * __`wp top10 settings`__: Get, set, export, and import plugin settings as JSON
75 * __`wp top10 cron`__: View, enable, disable, and manually trigger the maintenance and aggregation cron jobs
76 * __`wp top10 popular`__: List popular posts with counts using the same query as the front end
77 * __`wp top10 status`__: Print a full plugin status overview
78 * All destructive commands support `--dry-run` and `--force`; multisite commands support `--network` and `--blog-id`
79
80 * __Developer-Friendly Features__
81 * __Custom Post Type Sortable Columns__: Admin columns on supported custom post types with sortable functionality
82
83 = GDPR =
84
85 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).
86
87 You are responsible for ensuring GDPR compliance on your website.
88
89 = Translations =
90
91 Top 10 is available for translation on [WordPress.org](https://translate.wordpress.org/projects/wp-plugins/top-10).
92 See the [Translator Handbook](https://make.wordpress.org/polyglots/handbook/rosetta/theme-plugin-directories/) to contribute.
93
94 = Contribute =
95
96 Top 10 is developed openly on [GitHub](https://github.com/webberzone/top-10).
97 Fork the project and submit pull requests for bug fixes or improvements. Please do not use GitHub for support requests.
98
99 == Other WebberZone Plugins ==
100
101 * [Contextual Related Posts](https://wordpress.org/plugins/contextual-related-posts/) – Display related posts on your WordPress site and feeds
102 * [Better Search](https://wordpress.org/plugins/better-search/) – Enhance WordPress search with relevance-based results
103 * [Knowledge Base](https://wordpress.org/plugins/knowledgebase/) – Create a knowledge base or FAQ section
104 * [WebberZone Snippetz](https://wordpress.org/plugins/add-to-all/) – Manage custom HTML, CSS, and JavaScript snippets
105 * [Auto-Close](https://wordpress.org/plugins/autoclose/) – Automatically close comments, pingbacks, and trackbacks
106 * [Popular Authors](https://wordpress.org/plugins/popular-authors/) – Display popular authors widgets. Addon for Top 10.
107 * [Followed Posts](https://wordpress.org/plugins/where-did-they-go-from-here/) – Show related posts based on reader journeys
108 * [WebberZone Link Warnings](https://wordpress.org/plugins/webberzone-link-warnings/) – Add accessible warnings for external links and target="_blank" links
109
110 == Screenshots ==
111
112 1. Top 10 – Popular posts overview in the WordPress admin
113 2. Top 10 – Popular posts list with thumbnails
114
115 == Installation ==
116
117 = WordPress install (easy way) =
118 1. Go to Plugins → Add New in your WordPress Admin
119 2. Search for “Top 10”
120 3. Click Install Now and then Activate
121
122 = Manual install =
123 1. Download the `top-10.zip` file
124 2. Go to Plugins → Add New → Upload Plugin
125 3. Upload the ZIP file and click Install Now
126 4. Activate the plugin
127 5. Configure settings under Top 10 → Settings
128
129 = Help and Support =
130 * [Documentation](https://webberzone.com/support/product/top-10/)
131 * [WordPress.org Support Forum](https://wordpress.org/support/plugin/top-10)
132
133 == Frequently Asked Questions ==
134
135 = Where can I get help and support? =
136
137 Before opening a support request, please check the following resources:
138
139 * [FAQ on the WordPress.org plugin page](https://wordpress.org/plugins/top-10/faq/)
140 * [FAQ on the WebberZone knowledge base](https://webberzone.com/support/product/top-10/)
141
142 These cover the most common questions and are the fastest way to get answers, as they are actively maintained.
143
144 If your question is not answered there, please create a new topic in the
145 [WordPress.org support forum](https://wordpress.org/support/plugin/top-10/).
146 This is the preferred support channel for the free plugin, and the forums are monitored regularly.
147
148 Support for products sold and distributed by WebberZone is available **only**
149 to users with an active, valid licence. Licensed users can request support [here](https://webberzone.com/request-support/).
150
151 = Can this plugin replace Google Analytics? =
152
153 No. Top 10 tracks page views and displays popular posts. It is not designed to replace analytics platforms.
154
155 = How does tracking work? =
156
157 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.
158
159 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/).
160
161 = How does scheduled maintenance work? =
162
163 When enabled, Top 10 runs a scheduled task that periodically removes old entries
164 from the `wp_top_ten_daily` table.
165
166 Note: WordPress executes scheduled tasks on the first eligible page load.
167
168 = How can I report security bugs? =
169
170 You can report security bugs through the Patchstack Vulnerability Disclosure Program.
171 The Patchstack team help validate, triage and handle any security vulnerabilities.
172 [Report a security vulnerability.](https://patchstack.com/database/vdp/top-10)
173
174 == Changelog ==
175
176 = 4.4.3 =
177
178 *Release Date - 10 August 2026*
179
180 * Fixed:
181 * Renamed `top-10-tracker.min.js` to `top-10.min.js` to avoid ad-blocker false positives triggered by "tracker" in the filename.
182
183 = 4.4.2 =
184
185 *Release Date - 2 August 2026*
186
187 * Fixed:
188 * Fatal errors on servers with `open_basedir` restrictions when the plugin directory uses a symlink.
189 * False-positive WP-Cron rescheduling notices when the cron event remains correctly scheduled.
190 * Restored the previous database error display state after table creation and primary-key operations.
191
192 = 4.4.1 =
193
194 *Release Date - 25 July 2026*
195
196 * Fixed:
197 * "Exclude Front page and Posts page" setting had no effect in the widget/block/shortcode output; the front and posts page IDs were compared as strings against integer post IDs during exclusion filtering.
198 * Settings page sidebar overlapped the tab content; the layout now uses flexbox instead of relying on float ordering.
199
200 = 4.4.0 =
201
202 *Release Date - 22 July 2026*
203
204 * Features:
205 * New "Features" tab under Settings: turn off plugin features that you do not use and their code will not be loaded at all. You can toggle the Popular Posts and Post Count blocks, popular posts feeds, legacy widgets, Query block, Featured Image block, Popular Posts Pro block, Fast and High-traffic trackers, Pro dashboard widgets, and Popular Authors.
206 * New "Tracking method" setting under Settings » Counter/Tracker » Tracker settings: choose between Funnel tracking (default; views are buffered and merged into the count tables every few minutes) and Legacy tracking (views are written directly to the count tables on every visit, as in versions before 4.3). Switch to Legacy tracking if view counts are not updating on your site, e.g. when WP-Cron is disabled or unreliable. Note that Legacy tracking does not populate the visits log table. The Fast and High-traffic trackers respect this setting; regenerate the High-traffic config file after changing it.
207 * New "Number format style" setting under Settings » Counter/Tracker » Counter settings: choose Abbreviated to display large view counts in a compact form, e.g. 1.2k or 3.4M, wherever counts are displayed. The default remains the full locale-formatted number. It can be overridden per instance with the `number_format_style` shortcode/block attribute, and the suffixes and rounding can be customised via the `tptn_number_format_abbreviations` and `tptn_abbreviate_number_decimals` filters.
208 * WP-PostRatings integration: new "Show WP-PostRatings rating" setting under Settings » Posts list displays each post's rating next to it in the popular posts list, either as the star rating rendered using the WP-PostRatings plugin's own templates or as the average score number. Off by default and only takes effect when the free WP-PostRatings plugin is active. It can be overridden per instance with the `show_ratings` shortcode/block attribute (`stars` or `score`), and the markup can be customised via the `tptn_ratings` filter.
209 * [Pro] New "Lazy load popular posts" setting under Settings » General: load popular posts lists via JavaScript only when they are about to enter the viewport instead of rendering them inline, so full-page caching plugins can serve a page without embedding a live popular-posts query. Applies to content, shortcodes, widgets, and the Popular Posts block. Off by default. Override it per instance with the `lazy_load` shortcode/block attribute, e.g. `lazy_load="0"`. Not applied on feeds, admin, AJAX, cron, WP-CLI, or AMP pages.
210
211 * Improvements:
212 * The `[tptn_list]` shortcode now accepts all registered settings as attributes, including newly added settings that are not yet present in the saved settings.
213 * Redesigned settings page with vertical tab navigation, which is responsive and reverts to horizontal tabs on smaller screens. The settings page now opens on the Features tab.
214 * New search box above the settings tabs: type to instantly filter settings across all tabs. Matching settings are shown grouped by tab with the search term highlighted in their labels and descriptions, each tab displays a count of its matches, and clicking a tab scrolls to its results. You can also search by the internal setting key, e.g. `cache_time`. A single Save Changes bar replaces the per-tab buttons while searching, and the search is fully keyboard and screen reader accessible.
215 * Checkbox settings now display as toggle switches.
216 * Settings that have been changed from their default value are marked with an indicator dot, with a legend below the buttons. The default value is also displayed below each setting's description.
217 * Admin styles and scripts are now versioned with the plugin version so browsers reliably pick up changes after an update.
218 * Bot/crawler detection (used by the "Do not track bots" tracker setting) now uses the actively maintained Crawler-Detect library for broader, more accurate coverage, alongside the existing built-in pattern list.
219
220 * Fixed:
221 * Admin banner no longer causes a horizontal scrollbar on the plugin's admin pages.
222 * Custom period label ("Daily" vs "Custom (N days)") on the Dashboard widget, Popular Posts submenu, and post list Views column now matches the data actually shown, instead of always following the site-wide Custom period setting.
223 * Post list Views column, and its sort order, now counts today only instead of the full Custom period range.
224 * Left thumbnail style no longer stacks the thumbnail above the text in narrow containers such as sidebar widgets; it now stays side by side unless there genuinely isn't room.
225 * New "Fix Cron Schedules" tool under Top 10 » Tools to clear and reschedule the maintenance and aggregation cron jobs if they stop running.
226 * The Tools page and an admin notice now surface WP-Cron scheduling errors (e.g. "The cron event list could not be saved") directly in the dashboard instead of only appearing in the PHP error log.
227 * [Pro] Fast and High-traffic trackers now respect the "Do not track bots" setting; previously they recorded views for bots and other automated user agents regardless of this setting.
228
229 = 4.3.2 =
230
231 *Release Date - 8 July 2026*
232
233 * Improvements:
234 * Dynamic post counts now load more reliably and are faster in modern browsers.
235 * Enhanced time range labeling: Interface now dynamically shows "Daily" for 1-day periods or "Custom (N days)" for longer periods, making the UI more accurate based on actual settings.
236
237 = 4.3.1 =
238
239 *Release Date - 6 June 2026*
240
241 * Improvements:
242 * Aggregation cron now runs every 2 minutes instead of 5 minutes for faster count updates.
243 * Sync Funnel now shows distinct error messages for an empty funnel, a lock conflict, and database failures (including the actual database error).
244 * Dashboard chart now formats large numbers with K/M abbreviations (e.g. 15,437 → 15.4K) and auto-hides overlapping bar labels.
245 * "Recreate Database Tables" in Tools now also recreates the visits funnel and visits log tables.
246 * [Pro] `wp top10 db recreate-tables` now accepts `--table=funnel` and `--table=log` in addition to `overall`, `daily`, and `all`.
247
248 * Fixed:
249 * Sync Funnel on WordPress Playground (SQLite) incorrectly reported "another aggregation is in progress" due to unreliable SQLite detection; the `DATABASE_TYPE` constant is now checked first.
250 * Uninstalling the plugin no longer throws a fatal error when attempting to drop database tables; the path to the uninstaller was resolving one level above the plugin directory.
251 * "Recreate Database Tables" silently left the daily table missing due to a stale static cache in the table-installed check; all four tables are now recreated reliably.
252
253 = 4.3.0 =
254
255 *Release Date - 28 May 2026*
256
257 * [Release announcement](https://webberzone.com/announcements/top-10-v4-3-0/)
258
259 * New:
260 * Buffered visit tracking: page views are queued in a funnel table and aggregated every 5 minutes, reducing write contention on busy sites.
261 * [Pro] RSS/Atom feed views are now counted. Enable under Counter settings > Track feed views.
262 * [Pro] Dashboard At a Glance widget now shows views for the current hour and today.
263 * [Pro] Full `wp top10` WP-CLI suite: counts, database, cache, settings, cron, and popular posts commands. All destructive commands support `--dry-run` and `--force`; multisite commands support `--network` and `--blog-id`.
264
265 * Improvements:
266 * Scheduled maintenance deletes old daily rows in batches to prevent timeouts on large databases.
267 * New index on the daily table speeds up maintenance queries. Apply it to existing installs via Recreate Primary Key under Tools.
268
269 * Fixed:
270 * Cache setting was referencing the wrong key, preventing posts from ever being cached.
271 * Database version was recorded before upgrade routines ran, causing upgrades to be silently skipped on re-activation.
272 * Daily queries now work on MySQL servers with ONLY_FULL_GROUP_BY enabled.
273 * Posts with identical counts now display in a consistent order when paginated.
274 * Daily counts now use the site's configured timezone instead of server time.
275 * Dashboard "Total visits" now matches the chart total rather than summing only the top 20 posts.
276 * Popular posts ordering no longer overridden by Post Types Order and similar plugins.
277 * Deactivation now clears both cron jobs and sets the settings option to not autoload.
278 * Removed incorrect `wpmu_drop_tables` filter that tried to drop network-wide tables on site deletion.
279
280 = 4.2.3 =
281
282 * Security:
283 * Hardened Settings API and metabox output escaping.
284
285 * Improvements:
286 * Updated Freemius SDK to version 2.13.1.
287 * Updated Settings API assets and Tom Select handling.
288 * Refreshed translations and generated assets.
289
290 * Fixes:
291 * Fixed metabox screen handling when `get_current_screen()` is unavailable.
292 * Fixed admin notices package tags.
293
294 = 4.2.2 =
295
296 * Modifications:
297 * Taxonomy Suggest script removed from Settings API. Metabox also uses Tom Select for the lookup of the category field in CRP Pro.
298
299 * Fixes:
300 * CSS improvements for left-thumbs and grid-thumbs styles.
301
302 = 4.2.1 =
303
304 * Security:
305 * Fixed REST API permission checks to prevent unauthorized exposure of post passwords in edit context.
306
307 * Fixes:
308 * Fixed a bug with the "Clear cache" button in the Tools page.
309 * Fixed thumbnail location restrictions to properly support Grid thumbnails style in addition to Left thumbnails.
310 * Improved JavaScript logic for style-based thumbnail location validation with better error handling and fallback mechanisms.
311
312 = 4.2.0 =
313
314 Release post: [https://webberzone.com/announcements/top-10-v4-2-0/](https://webberzone.com/announcements/top-10-v4-2-0/)
315
316 * New:
317 * Settings wizard to guide initial configuration and review existing settings
318 * Network-wide dashboard with aggregated multisite statistics
319 * [Pro] High-traffic tracking mode with status validation panel
320 * [Pro] Copy settings between multisite network sites
321 * [Pro] Compact “Top 10 Views Overview” dashboard widget
322 * [Pro] Option to disable the Admin Bar menu
323 * [Pro] Maintenance setting to override data retention period
324
325 * Improvements:
326 * [Pro] Improved dashboard chart bar click-through to open the Popular Posts screen filtered to that day
327 * Updated Settings API to version 2.7.1
328 * Improved media handler with recursion protection and more robust processing
329 * Media Handler now supports the FIFU WordPress plugin for featured image detection.
330 * Improved Tools page statistics display and caching
331 * Wrapped Import/Export and Tools sections in postbox containers for consistent UI
332
333 * Developer / Internal:
334 * Refactored popular posts queries for improved performance and WordPress VIP compatibility
335 * Updated caching behaviour for dynamic exclusions
336 * Refactored database operations into a dedicated Database class
337 * Updated Freemius SDK to version 2.13.0
338
339 * Fixes:
340 * Fixed `Top_Ten_Query` handling of the `date_query` argument
341 * Fixed activation redirects on single-site installs within multisite networks
342 * Fixed `exclude_current_post` behaviour when caching is enabled
343 * Fixed live-edit count updates in multisite statistics
344
345 == Upgrade Notice ==
346
347 = 4.4.2 =
348 Fixes a fatal error on servers with `open_basedir` restrictions where no plugin class could be loaded. No action required.