Plugin Directory

Top 10 - Popular posts plugin for WordPress

Track daily and total visits on your blog posts. Display the count as well as popular and trending posts.


  • New: Button in Top 10 settings page to merge posts across blog ID 0 and 1
  • New: Function & filter get_tptn_pop_posts that can be used to fetch the popular posts as an object or array. Perfect if you want to write custom code in your theme
  • New: Support for WPML to return the correct language ID. Thanks to Tony Flags' code snippet.
  • New: Filter tptn_list_count to modify the formatted list count. See a working example
  • New: Post types can now be selected in the widget. This allows you to select top posts by post type
  • Modified: Plugin will attempt to pull the correct size image when fetching the first image in a post
  • Modified: Deprecated "Always display latest post count in the daily lists"
  • Modified: timthumb has been deprecated. The script is no longer packaged within Top 10
  • Fixed: Bug in tracking code when not using Ajax
  • Fixed: Bug in admin column did not check for the blog_id
  • Fixed: Bug where default thumbnail location was not correctly saved
  • Fixed: Incorrect thumbnail was pulled on attachment pages
  • Fixed: blog_id column of the database is correctly initialised as DEFAULT '1'


  • New: Options to choose if you want to delete the Top 10 options and/or data when deleting the plugin
  • Fixed: Metabox update did not work properly in v2.0
  • Fixed: Duplicate include files
  • Modified: In the mySQL tables, the blog_id default value is set to 1


  • New: Option to display the daily posts count from midnight. This is enabled by default and mimics the original behaviour of the counter in Top 10 v1.x
  • Modified: Posts are tracked hourly based on the time of the blog and not GMT. This was also the default behaviour of the counter in Top 10 v1.x
  • Fixed: Default thumbnail location saved correctly on the Settings page.


  • Bug fix release: Fixes 500/503 errors caused by 2.0.0


  • New: Multisite support. If you're using multisite and have previously activated Top 10 on individual blogs in the network, then head over to Top 10 Settings and import the counts from the old Top 10 1.x tables to the new Top 10 v2.0 tables
  • New: Fully extendable lookup query for the top lists. Now you can create your own functions in functions.php or in addon plugins to modify the mySQL query
  • New: Option to use any of the inbuilt thumbnail sizes or create your own custom image size. If a custom size is chosen, then the plugin uses add_image_size to register the custom size. I recommend using Force Regenerate Thumbnails
  • New: Actions and filters in the Top 10 Settings page and in the widget which allows for addons to add more settings
  • Modified: Post tracking is now done on an hourly basis. Date limiting is also on an hourly basis. So, 1 day is actually the last 24 hours and not from midnight anymore!
  • Modified: Update and View counts now use query variables instead of external JavaScript files. Check http://goo.gl/yemvyM for sample functions to restore the old method
  • Modified: Activating the default styles option will automatically set the thumbnail width and height to 65px, disable author and excerpt and enable crop mode for the thumbnails
  • Fixed: Fix schedule overwrite for the cron job
  • Fixed: Incorrect permission lookup in the metabox

  • Fixed: Schedules were overwritten when activating the maintenance cron job

  • Fixed: Initialisation error for new installs


  • New: Meta box on Edit post / page and similar screens that allow you to set the Top 10 (and my other plugins) specific thumbnail for the current post (different from the Featured thumb)
  • New: Admins can edit the number of total views (find it in the same meta box as above)
  • New: Turn of tracking for Editors
  • New: Added w.org and github.com to list of allowed sites for timthumb
  • New: Option to add quality settings for thumbnails created by timthumb
  • Modified: Shortcode now accepts all the parameters that tptn_pop_posts() can take. For a full list of parameters, please check out the FAQ.
  • Modified: Widget initialisation to latest standards
  • Fixed: Localisation initialisation
  • Fixed: Validation for hour and minute settings for the cron job
  • New: Several new filters allowing you to hook in an modify the output without editting plugin files
  • Modified: Reformatted code

  • Fixed: Show count in widget was always checked
  • Fixed: "List of post or page IDs to exclude from the results" did not work for more than one post
  • Fixed: First image in the post was not detected in some cases. First image attached is now prioritised over image detection to speed things up

  • Fixed: Maintenance cron wasn't running properly


  • New: Default style to make those popular posts a little pretty. Choose Thumbnails inline, before title under 'Thumbnail options'
  • New: Option to disable display of counts to non-admins. Check out the option 'Show number of views to non-admins'
  • New: Option to display different text when there are no hits on the post on non single posts e.g. home page, archives, etc.
  • New: Class tptn_posts_widget for the widgets
  • Modified: Brought back the old columns "Views" in the Admin Posts and Pages which contains both the Overall and Daily counts
  • Modified: New admin interface keeping mobile first in mind
  • Modified: Optimised widgets loading
  • Modified: Cron job will now delete entries from the daily table older than 90 days
  • Fixed: mySQL error messages due to improper escaping
  • Fixed: Plugin no longer overwrites cron schedules
  • Modified: Lot's of code optimisation and cleanup

  • Modified: Including the author in the list will now use the Display Name which is set under “Display name publicly as” in the User Profile page
  • Fixed: If the Thumbnail meta field is omitted under Output Options, the plugin will automatically revert to its default value i.e. "post-image"
  • Modified: Cleaner pagination when viewing the Top posts in the Admin section
  • New: Function get_tptn_post_count_only to get just the post count. Use it by passing the Post ID and the type of count (total, daily or overall): get_tptn_post_count_only($id = FALSE, $count = 'total')
  • New: Class tptn_after_thumb that wraps around all items of the list after the post thumbnail. This allows you to cleanly style all items to float to the right of the thumbnail
  • Modified: Updated timthumb

  • Fixed PHP notices on Admin pages

  • Fixed: Daily count was selecting an extra date when using the widget
  • Fixed: Default settings for the widget weren't initiated correctly in some cases
  • Modified: Admin columns of Total and Daily views will be sorted by descending order by default. Click again to sort in ascending order
  • Modified: Admin columns are fixed to 100px width by default instead of auto.

  • New: Option to add author
  • New: More options for the Widgets to configure the post lists
  • Modified: Shortcodes are now stripped from excerpts
  • New: Added s3.amazonaws.com to list of allowed sites that timthumb can fetch images from
  • Fixed: Counter was not always displayed on posts
  • New: All Posts / All Pages have separate sortable columns for total and daily counts
  • Fixed: Warning messages with WP_DEBUG mode ON

  • Fixed: Correct numbers of posts were not being fetched


  • New: Custom post support. Choose which custom post types to display in the top posts
  • New: More display options. Select which archives you want to display the post count
  • New: Option to open links in new window
  • New: Option to add nofollow attribute to links
  • New: Option to exclude posts by ID in the list of top posts being displayed
  • New: Option to prevent display of the Visit Count on posts by ID
  • New: Option to choose between using CSS styles or HTML attributes for thumbnail width and height. HTML width and height attributes are default
  • New: Option to restrict the title to fixed number of characters
  • New: Option to add the date to the list
  • Modified: Numbers are now formatted based on the locale
  • Fixed: Plugin will now create thumbnails from the first image in gallery custom posts


  • New: Option to toggle using jQuery ON to track counts. Potential fix for counters not working.


  • Fixed: Daily count was not updated


  • New: CSS class tptn_title that can be used to style the title of the posts
  • New: Option to disable Daily or Overall counters
  • Fixed: Counter to work with different directory structures. Thanks Nathan for the fix
  • Fixed: To make it work with W3 Total Cache. Thanks Angelo for the fix
  • Modified: timthumb will now work if you have JetPack Proton activated


  • Fixes a bug in the widget introduces in 1.9.3


  • Important security update: Fixed possible XSS vulnerability
  • Fixed: Exclude categories was not excluding posts correctly
  • New: Classes tptn_posts and tptn_posts_daily for the widgets that let you easily style the lists


  • New: Top 10 now has its own menu in the administration area. Access settings and view your top posts directly under the new menu: "Top 10"
  • New: New classes tptn_counter and tptn_list_count to style the displayed count
  • New: New option "Always display latest count for the post" to not use JavaScript to display the counts for a post. This speeds up since no external JS file is used to display the count. Ideal for those not using caching plugins or are not particularly worried if the counts are slightly older.
  • Fixed: PHP notices when WP_DEBUG is turned on
  • Modified: Updated timthumb.php


  • Fixed: Plugin will now only reschedule the cron job if there any settings are changed related to it
  • Modified: If timthumb is disabled, WordPress post thumbnails are no longer resized using timthumb
  • Modified: Extra check for post featured thumbnails to ensure that the src is not missed


  • New: Option to use timthumb to resize thumbnails
  • New: New variable %overallcount% that will display the total pageviews on the blog across all posts
  • New: Post thumbnails are now properly resized based on width and height settings in the Top 10 settings page
  • New: Customise what to display when there are no top posts detected
  • New: New scheduled maintenance to clear up daily tables and optimise performance
  • New: Custom CSS code to style the output. Check out the available styles in the FAQ.
  • Modified: New "default.png" file based on from KDE’s Oxygen icon set
  • Modified: Dashboard list of posts now displays all the top posts and pages instead of the filtered list based on Settings.
  • Modified: Dashboard widget now has options to customise the widget. Old widgets have been deleted
  • Modified: When fetching the first image, plugin ignores external images
  • Modified: Minor performance tweaks


  • Fixed: Dashboard widgets linking


  • New: Support for Video Thumbnails plugin
  • New: Thumbnail settings now reflect max width and max height instead of fixed width and height
  • New: Option to display thumbnails before or after the title
  • New: Option to not display thumbnails instead of the default thumbnail
  • New: Counts are now neatly formatted with commas
  • Modified: Minor tweaks to improve performance


  • Fixed: Bug with Daily posts widget created an extra header tag in certain themes


  • New: Now supports multiple WordPress widgets


  • New: Exclude posts in the top lists from select categories
  • Modified: Performance improvements
  • Modified: Better compatibility with the latest versions of WordPress. If you are using the sidebar widgets, please readd them to your theme under Appearance > Widgets


  • Fixed: PHP errors on certain installs
  • New: Dutch language


  • Fixed: Multiple rows being created for same ID
  • Fixed: Counter display
  • New: New button to clear the duplicate rows in the tables
  • Fixed: Top 10 should be lighter on the server now


  • Turned the credit option to false by default. This setting won't effect current users.
  • Turned off borders on post thumbnails. You can customise the CSS class "tptn_thumb" to style the post thumbnail.
  • The plugin will now display a list of changes in the WordPress Admin > Plugins area whenever an update is available
  • Fixed: Display of caching plugin compliant daily top posts lists


  • New: Added support for excerpts and detection of first image in the post
  • New: Daily posts are tracked using the blog time instead of server time
  • Fixed: On the first visit, display 1 instead of 0
  • Fixed: Fixed uninstall script


  • New: You can now use HTML in the counter display


  • Fixed: Fixed display of post thumbnails using postmeta field


  • Fixed some compatibility issues with WordPress 2.9 and YARPP


  • Added support for post thumbnails feature of WordPress 2.9


  • Fixed compatibility with WordPress 2.9
  • Fixed XHTML validation errors in output code
  • Added buttons to reset post count of overall and daily posts


  • Added localisation support
  • Separate options to display number of views on posts and pages


  • "Daily Popular" can now be selected over user selectable number of days.
  • Option to turn off display of number of pageviews in popular posts list
  • Option to make "Daily Popular" list compatible with caching plugins
  • Posts > Top 10 page to view detailed list of popular posts


  • Do not display Drafts in Related Posts anymore
  • Option to disable tracking author visits on their own posts
  • Display top posts for the current day


  • Added the Popular Posts sidebar widget in your theme. Find it under Appearance > Widgets
  • Uses JavaScript by default to count. Hence, better support for different caching plugins
  • Change format to display count. Now, a single textarea instead of two text boxes.
  • Added WordPress 2.7 Dashboard widget to display popular posts on your Dashboard


  • Release

Requires: 3.5 or higher
Compatible up to: 4.2.4
Last Updated: 2015-6-30
Active Installs: 30,000+


4.7 out of 5 stars


8 of 31 support threads in the last two months have been resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,2,2 100,1,1 100,1,1
100,4,4 100,2,2
0,2,0 100,1,1 100,1,1 100,1,1
100,2,2 83,6,5 100,3,3 100,1,1
100,1,1 100,3,3 100,3,3
50,4,2 100,2,2
0,1,0 100,1,1 100,2,2
100,1,1 100,1,1 100,3,3
100,1,1 100,2,2
100,2,2 100,1,1 100,3,3 100,1,1 25,4,1 100,1,1
100,2,2 100,1,1
100,1,1 100,2,2 100,2,2 100,1,1
100,1,1 100,1,1
100,2,2 100,2,2
100,1,1 100,4,4 100,1,1
100,2,2 0,3,0 100,2,2 100,2,2 100,1,1
100,1,1 100,2,2