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.


  • Features:

    • Preliminary support for PolyLang
    • Search box and post type filter added in Admin » View Popular Posts screen
    • Link to Daily Popular posts screen under Top 10 menu in admin area
    • post_types parameter now supports comma-separated list of post types. To fetch all built-in post types use 'all'
    • New option to use the external and more efficient javascript file for tracking
    • New function tptn_add_tracker to manually include the tracking code. This is useful if your theme doesn't have the_content function that Top 10 filters to add the tracker code
  • Enhancements:

    • Viewing drafts will no longer increment the counter
    • When using the Left Thumbs style, each widget instance includes the CSS code to display the correct thumbnail size
  • Bug fixes:

    • Missing DISTINCT keyword in query resulting in duplicate entries in some cases
    • PHP Notice in Widget on empty search and 404 pages
    • Incorrect notice that Contextual Related Posts is installed on Edit Posts pages
    • tptn_show_daily_pop_posts() without arguments did not display daily posts
    • Using Exclude categories returned incorrect counts and excluded non-posts
    • Incorrect count on the Admin » View Popular Posts screen causing incorrect pagination
    • Incorrect thumbnail size being pulled out in some instances
    • Multiple widget instances incorrectly used the same cache
    • Incorrect text domain was initialised


  • Enhancements:
    • Changed text domain to top-10 in advance of translate.wordpress.org translation system
    • Improved support for WPML. If available, same language posts will be pulled by default. To restrict to the same language add this code to your theme's functions.php file


  • Bug fixes:
    • Shortcode with "exclude_categories" argument works again


  • Bug fixes:
    • Fixed array declaration to support PHP < 5.4


  • Features:

    • Caching system using the Transients API. By default the cache is refreshed every hour
    • Styles interface lets you select between No styles, Left Thumbs (previously the default style) and Text Only
    • Option to limit posts only with a specified date range
    • Option in Top 10 meta box to exclude display of popular posts in widget if needed
    • Option in Top 10 meta box to exclude post from popular posts list
    • Cleaner interface to view popular posts in the admin area
  • Enhancements:

    • strict_limit is true by default for get_tptn_pop_posts()
    • Option to turn off the meta box for everyone or just non-admins
    • Contributors & above can also update the visit count in the meta box if this is enabled for them
    • Category exclusion now works via a filter function vs. multiple lookups, thereby reducing the number of database queries
  • Bug fixes:

    • Potential bug when the $wp variable was not detected in rare situations
    • In rare cases category exclusion failed when term_id didn't match term_taxonomy_id
  • Deprecated:

    • ald_tptn_rss: Use tptn_rss_filter instead
    • ald_tptn_hook deprecated and renamed to tptn_cron_hook
    • tptn_manage and tptn_manage_daily which were used to render the admin popular posts screens


  • Features:

    • 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
  • Enhancements:

    • 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
  • Bug fixes:

    • 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'


  • Features:

    • New: Options to choose if you want to delete the Top 10 options and/or data when deleting the plugin
  • Bug fixes:

    • 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


  • Features:

    • 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
  • Enhancements:

    • 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
  • Bug fixes:

    • Fixed: Default thumbnail location saved correctly on the Settings page.


  • Bug fixes
    • 500/503 errors caused by 2.0.0


  • Features:

    • 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. You will need to resize your thumbnails after activating this option
    • New: Actions and filters in the Top 10 Settings page and in the widget which allows for addons to add more settings
  • Enhancements:

    • 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
  • Bug fixes:

    • Fixed: Fix schedule overwrite for the cron job
    • Fixed: Incorrect permission lookup in the metabox

For previous changelog entries, please refer to the separate changelog.txt file

Requires: 3.9 or higher
Compatible up to: 4.5.1
Last Updated: 1 month ago
Active Installs: 30,000+


4.6 out of 5 stars


2 of 21 support threads in the last two months have been marked 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
100,1,1 100,3,3
100,1,1 100,3,3