Top 10 – Popular posts plugin for WordPress


WordPress doesn’t have an in-built system to track page views or displaying popular posts. Top 10 is an easy to use, yet, powerful WordPress plugin that will count the number of page views of your posts, pages and any custom post types. You can then display the page view counts as well as display your most popular posts.

Top 10 adds two widgets that you can use to display a list of popular posts and the counta cross all your blog posts.

Although several similar plugins exist today, Top 10 is one of the most feature-rich popular post plugins with support for thumbnails, shortcodes, widgets, custom post types and CSS styles. The inbuilt caching system also helps reduce server load by caching your popular posts output. The tracking uses ajax and is thus compatible with most popular caching plugins.

Top 10 also has powerful API and is fully extendable with WordPress actions and filters to allow you easily extend the code base to add new features or tweak existing ones.


  • Page counter: Counts page views on single posts, pages and custom post types on an hourly basis which can then be easily displayed automatically, using shortcodes or functions
  • Popular posts: Display a list of popular posts either for total counts or for a custom period. You can choose how many posts are to be displayed along with loads of other customisation options
  • Widget ready: Sidebar widgets available for daily popular and overall popular posts. Highly customizable widgets to control what you want to display in the list of posts
  • Codes courts: The plugin includes two shortcodes [tptn_list] and [tptn_views] to display the posts list and the number of views respectively
  • Thumbnail support
    • Support for WordPress post thumbnails. Top 10 will create a custom image size (tptn_thumbnail) with the dimensions specified in the Settings page
    • Auto-extract the first image in your post to be displayed as a thumbnail
    • Manually enter the URL of the thumbnail via WordPress meta fields. Specify this using the meta box in your Edit screens.
  • Exclusions: Exclude posts from select categories from appearing in the top posts list. Also exclude posts by ID from appearing in the list
  • Styles: The output is wrapped in CSS classes which allows you to easily style the list. You can enter your custom CSS styles from within WordPress Admin area or use the style included.
  • Admin interface: View list of daily and/or overall popular posts from within the dashboard. Top 10 also adds two sortable columns to your All Posts and All Pages pages in your WordPress Admin area
  • Export/Import interface: Export the count tables and settings to restore in the same site or on other installs
  • Works with caching plugins like WP-Super-Cache, W3 Total Cache or Quick Cache
  • Extendable code: Top 10 has tonnes of filters and actions that allow any developer to easily add features, edit outputs, etc.


Top 10 is GDPR compliant as it doesn’t collect any personal data about your visitors when installed out of the box. You can see the data the plugin stores in the wp_top_ten and wp_top_ten_daily tables in the database. Note: the prefix wp might be different if you have changed it from the default.



I spend a significant amount of my free time maintaining, updating and more importantly supporting this plugin. If you have been using this plugin and find this useful, do consider making a donation. This helps me pay for my hosting and domains.


Top 10 is available for translation directly on Check out the official Translator Handbook to contribute.


Top 10 is also available on Github
So, if you’ve got some cool feature that you’d like to implement into the plugin or a bug you’ve been able to fix, consider forking the project and sending me a pull request. Please don’t use that for support requests.

Captures d’écran

  • Top 10 options - General options
  • Top 10 options - Counter and Tracker options
  • Top 10 options - Popular post list options
  • Top 10 options - Thumbnail options
  • Top 10 options - Styles
  • Top 10 options - Maintenance
  • Top 10 options - Feed
  • Top 10 widget options
  • Top 10 Meta box on the Edit Post screen
  • Top 10 Tools page
  • Top 10 - Popular posts view in Admin
  • Top 10 Export/Import interface
  • Top 10 - Popular posts view in Network Admin


WordPress install (the easy way)

  1. Navigate to Plugins within your WordPress Admin Area

  2. Click « Add new » and in the search box enter « Top 10 »

  3. Find the plugin in the list (usually the first result) and click « Install Now »

Manual install

  1. Télécharger l’extension

  2. Extract the contents of to wp-content/plugins/ folder. You should get a folder called top-10.

  3. Activate the Plugin in WP-Admin.

  4. Go to Top 10 to configure

  5. Go to Appearance » Widgets to add the Popular Posts sidebar widget to your theme

  6. Go to Top 10 » View Popular Posts to view the list of popular posts


Check out the FAQ on the plugin page and the FAQ on the WebberZone knowledgebase.
It is the fastest way to get support as I monitor the forums regularly. I also provide premium paid support via email.

How can I customise the output?

Several customization options are available via the Settings page in WordPress Admin. You can access this via Settings » Top 10

The main CSS classes include:

  • tptn_posts and tptn_posts_daily: Class of the main wrapper div. If you are displaying the related posts on non-singular pages, then you should style this

  • tptn_title: Class of the span tag for title of the post

  • tptn_excerpt: Class of the span tag for excerpt (if included)

  • tptn_thumb: Class of the post thumbnail img tag

  • tptn_list_count: Class of the span tag for post count in top posts list

  • tptn_counter: Class of the div tag that wraps the post count that is driven by the field « Format to display the count in:  » under ‘Output Options’

Codes courts

You can find details of the shortcodes in this article

Manual install

The below functions need to be added by editing your theme files where you wish to display them.

Display the post count with <?php if ( function_exists( 'echo_tptn_post_count' ) ) { echo_tptn_post_count(); } ?>

Display the overall most popular posts with <?php if ( function_exists( 'tptn_show_pop_posts' ) ) { tptn_show_pop_posts(); } ?>

Display the daily/custom period popular posts with <?php if ( function_exists( 'tptn_show_daily_pop_posts' ) ) { tptn_show_daily_pop_posts(); } ?>

You can also use the WordPress Widgets to display the popular posts in your sidebar / other widgetized areas of your theme

View examples of the plugin API to fetch the popular posts

Can this plugin replace Google Analytics?

No. Top 10 has been designed to only track the number of page-views on your blog posts and display the same. It isn’t designed to replace Google Analytics or any other full fledged statistics application.

How does the scheduled maintenance work?

When you enabled the scheduled maintenance, Top 10 will create a cron job that will run at a predefined interval and clean up old entries from the wp_top_ten_daily table.
Note: If you enable this option, WordPress will execute this job when it is scheduled the first time

How to make the columns on the Custom Post Type admin pages sortable?

Add the following code to your functions.php file of your theme.

add_filter( 'manage_edit-{$cpt}_sortable_columns', 'tptn_column_register_sortable' );

Replace {$cpt} by the slug of your custom post type. E.g. to make the columns on your ‘projects’ post type sortable, you will need to add:

add_filter( 'manage_edit-projects_sortable_columns', 'tptn_column_register_sortable' );


19 juin 2019
I'm running the plugin for a day now and so far, I'm very satisfied. There are a lot of options available, so you can tailor it to your needs. There are also many filters available to customize the behavior of plugin even further. Another big plus is plugin author being active and responsive on support page. Five stars from me.
9 mai 2019
Excelente y muy recomendable para quien quiera un plugin que le hagas las estadisticas de los artículos mas visitados.
Lire les 84 avis

Contributeurs & développeurs

« Top 10 – Popular posts plugin for WordPress » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.


“Top 10 – Popular posts plugin for WordPress” a été traduit dans 2 locales. Remerciez l’équipe de traduction pour ses contributions.

Traduisez « Top 10 – Popular posts plugin for WordPress » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.



Release post:

  • Features:
    • Custom feed for popular posts: Find new options under a new tab called Feed in the settings page where you can set the URL for the overall and daily feeds
    • New page in the network admin menu to view the popular posts across the network
    • Also delete transients and other settings on uninstall


Release post:

  • Fonctionnalités :

    • Recreate the Top 10 database tables. You can find the button in the Tools page. Backup your database first
    • New export/import interface to export and import the Top 10 tables and settings
  • Améliorations :

    • tptn_views shortcode adds a new parameter ‘count’ to explicitly set the count type. Choose from daily, total or overall. This is overridden if daily is set to 0 (backwards compatibility)


Release post:

  • Améliorations :

    • tptn_get_first_image filter has additional attributes $image_attributes[0], $postid, $thumb_width, $thumb_height
  • Bugs corrigés :

    • Reverted PolyLang implementation that was broken in v2.6.2
    • Delete deprecated settings on save
    • Fix settings link in plugins listing page
    • Fix exclude categories setting on save


  • Améliorations :

    • Select a date range in the Popular Posts listing page in the admin
  • Bugs corrigés :

    • Fixed « Published post date » setting was not working. Thanks @jherrerai
    • Modified PolyLang and WPML function implementations


  • Bug fixes:
    • Fixed widget daily and hourly range not working which was broken in v2.6.0


  • Fonctionnalités :

    • New option to disable creation of image thumbnails. Find this under Thumbnail options
    • Thumbnail HTML markup includes srcset and sizes attributes when available. Read Responsive Images in WordPress 4.4
    • New option to turn on debug mode. You can turn this on when requesting support. Find it under the Counter/Tracker tab
    • New option to add the tracker js file on all pages, not just singular pages. Helps with minification/concatenation
    • New date filter in the Popular posts listing page to see the views on a particular date
    • New option to turn ON/OFF the number formatting of the post counts. ON by default
  • Améliorations :

    • Load tracker in footer
    • Renamed top-10-tracker.js to top-10-tracker.min.js
  • Bugs corrigés :

    • Only delete option if null value is passed to tptn_update_option
    • « Exclude display on these post IDs » moved under Counter section


  • Améliorations :

    • Tools page now has the code to Recreate the PRIMARY KEY in case the button gives an error. You will need to run this in phpMyAdmin or Adminer
  • Bugs corrigés :

    • Fixed translation of  » by  » which had the incorrect text domain
    • Post types to includes selects « post » in case no option is selected
    • Unchecking all boxes of a « Display number of views on » setting would sometimes pick the default value


  • Features:
    • Added new button under Tools to recreate the PRIMARY KEYs


  • Bug fixes:
    • Fixed missing semi-colon in tracker code
    • Multi-site tracking failed in old installs where the PRIMARY KEY was not properly updated in the database. DB version has been updated to 6.0 to initiate primary key across all installs


  • Fonctionnalités :

    • New button in the Tools page to delete the pre-2.5.x settings
  • Améliorations :

    • New function tptn_trim_char replaces tptn_max_formatted_content which should now support non-English characters as well
    • Counts in the « Popular Posts » page are now number formatted
  • Bugs corrigés :

    • Fixed PHP Illegal string offset error


  • Bug fixes:
    • Fixed number of posts displayed in the popular posts list


  • Bug fixes:
    • Settings / Thumbnail / Thumbnail size did not display the correct option even though the admin had this correctly saved


  • Bug fixes:
    • Custom CSS did not get upgraded or saved properly
    • Uninstalling the plugin will delete the settings properly


  • Fonctionnalités :

    • Upgrade old options to Settings API
    • New widget to display the overall count i.e. visits across all your site posts
    • Added a filter to override the number of days that maintenance considers to delete the database entries
    • New option to disable tracking for logged in users. Find « Track logged-in users » under the « Counter/Tracker » tab in the settings screen
  • Améliorations :

    • Make $ajax_tptn_tracker global. Contributed by @pkirk
  • Bugs corrigés :

    • Make sure that $post object is available in tptn_pc_content filter. Contributed by @mtws
    • When editing Attachment post types, metabox should now save correctly
    • Disable top_ten_nonce as it wasn’t needed for front-end users and conflicted with caching plugins
  • Deprecated:

    • tptn_default_options (no replacement) and tptn_read_options (Use tptn_get_settings instead)

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