Plugin Directory

WordPress Popular Posts

WordPress Popular Posts is a highly customizable widget that displays the most popular posts on your blog.


If you're using a caching plugin, flushing its cache after installing / upgrading to this version is recommended.

  • Moves sampling logic into Javascript (thanks, @kurtpayne!)
  • Simplifies category filtering logic.
  • Fixes list sorting issue that some users were experimenting (thanks, sponker!)
  • Widget uses stock thumbnails when using predefined size (some conditions apply).
  • Adds the ability to enable / disable responsive support for thumbails.
  • Renames wpp_update_views action hook to wpp_post_update_views, update your code!
  • Adds wpp_pre_update_views action hook.
  • Adds filter wpp_render_image.
  • Drops support for get_mostpopular() template tag.
  • Fixes empty HTML tags (thumbnail, stats).
  • Removes Japanese, French and Norwegian Bokmal translation files from plugin.
  • Many minor bug fixes / enhancements.


  • Fixes missing HTML decoding for custom HTML in widget.
  • Puts LIMIT clause back to the outer query.


  • Adds check for jQuery.
  • Fixes invalid parameter in htmlspecialchars().
  • Switches AJAX update to POST method.
  • Removes href attribute from link when popular post is viewed.
  • Removes unnecesary ORDER BY clause in views/comments subquery.
  • Fixes Javascript console not working under IE8 (thanks, @raphaelsaunier!)
  • Fixes WPML compatibility bug storing post IDs as 0.
  • Removes wpp-upload.js since it was no longer in use.
  • Fixes undefined default thumbnail image (thanks, Lea Cohen!)
  • Fixes rating parameter returning false value.
  • Adds Data Sampling (thanks, @kurtpayne!)
  • Minor query optimizations.
  • Adds {date} (thanks, @matsuoshi!) and {thumb_img} tags to custom html.
  • Adds minute time option for caching.
  • Adds wpp_data_sampling filter.
  • Removes jQuery's DOM ready hook for AJAX views update.
  • Adds back missing GROUP BY clause.
  • Removes unnecesary HTML decoding for custom HTML (thanks, Lea Cohen!)
  • Translates category name when WPML is detected.
  • Adds list of available thumbnail sizes to the widget.
  • Other minor bugfixes and improvements.


  • Adds check for exif extension availability.
  • Rolls back check for user's default thumbnail.


  • Fixes invalid HTML title/alt attributes caused by encoding issues.
  • Fixes issue with jQuery not loading properly under certain circumstances.
  • Fixes issue with custom excerpts not showing up.
  • Fixes undefined notices and removes an unused variable from widget_update().
  • Fixes wrong variable reference in __image_resize().
  • Adds charset to mb_substr when truncating excerpt.
  • Sets default logging level to 1 (Everyone).
  • Renders the category link with cat-id-[ID] CSS class.
  • Replaces getimagesize() with exif_imagetype().
  • Adds notice to move/copy wpp.css stylesheet into theme's directory to keep custom CSS styles across updates.
  • Thumbail generation process has been refactored for efficiency.
  • Thumbnails are now stored in a custom folder under Uploads.
  • Drops support on Japanese and French languages since the translations were outdated.
  • Other minor bug fixes and improvements.


  • Fixes widget not saving 'freshness' setting.
  • Adds HTMLentities conversion/deconversion on wpp_get_mostpopular().
  • Improves thumbnail detection.
  • Fixes a bug affecting the truncation of excerpts.
  • Fixes yet another bug on wpp_get_views().
  • Other minor changes.


  • Fixes an introduced bug on wpp_get_views().
  • Fixes bug where thumbnail size was cached for multiple instances.
  • Adds back stylesheet detection.
  • Removes unused widget.js file.
  • Other minor bug fixes.


  • Fixes bug on wpp_get_views.
  • Sustitutes WP_DEBUG with custom debugging constant.
  • Fixes bug that prevented disabling plugin's stylesheet.


  • Starting from this version, the way plugin tracks views count switched back to AJAX to prevent bots / spiders from inflating views count. If you're using a caching plugin you should clear its cache after installing / upgrading the WordPress Popular Posts plugin so it can track your posts and pages normally.
  • Plugin refactoring based on @tikaszvince's work (many thanks, Vince!).
  • Added WPML support.
  • Added experimental WordPress Multisite support.
  • Added bot detection.
  • Added ability to filter posts by freshness.
  • Added own data caching method.
  • Added filters wpp_custom_html, wpp_post.
  • Added action wpp_update_views.
  • Dropped support on Dutch and Persian languages since the translations were outdated.
  • Several other fixes and improvements.


  • Fixed minor bugs on admin page.
  • Fixed query bug preventing some results from being listed.
  • Added a check to avoid using the terms tables if not necessary (eg. listing pages only).


  • Added ability to shorten title/excerpt by number of words.
  • Updated excerpt code, don't show it if empty.
  • Added ability to set post_type on Stats page.
  • Added check for is_preview() to avoid updating views count when editing and previewing a post / page (thanks, Partisk!).
  • Added ability to change default thumbnail via admin (thanks for the suggestion, Martin!).
  • Fixed bug in query when getting popular posts from category returning no results if it didn't have any post on the top viewed / commented.
  • Added function for better handling changes/updates in settings.
  • Updated get_summary() to use API functions instead querying directly to DB.
  • Updated wpp_print_stylesheet() to get the wpp.css file from the right path (thanks, Martin!).
  • Moved translations to lang folder.


  • Minimum WordPress version requirement changed to 3.3.
  • Minimum PHP version requirement changed to 5.2.0.
  • Improved Custom HTML feature! It's more flexible now + new Content Tags added: {url}, {text_title}, {author}, {category}, {views}, {comments}!.
  • Added ability to exclude posts by ID (similar to the category filter).
  • Added ability to enable / disable logging visits from logged-in users.
  • Added Category to the Stats Tag settings options.
  • Added range parameter to wpp_get_views().
  • Added numeric formatting to the wpp_get_views() function.
  • When enabling the Display author option, author's name will link to his/her profile page.
  • Fixed bad numeric formatting in Stats showing truncated views count.
  • Fixed AJAX update feature (finally!). WPP works properly now when using caching plugins!
  • Fixed WP Post Ratings not displaying on the list (and while it works, there are errors coming from the WP Post Ratings plugin itself: http://wordpress.org/support/topic/plugin-wp-postratings-undefined-indexes).
  • Improved database queries for speed.
  • Fixed bug preventing PostRating to show.
  • Removed Timthumb (again) in favor of the updated get_img() function based on Victor Teixeira's vt_resize function.
  • Cron now removes from cache all posts that have been trashed or eliminated.
  • Added proper numeric formatting for views / comments count. (Thank you for the tip, dimagsv!)
  • Added "the title filter fix" that affected some themes. (Thank you, jeremyers1!)
  • Added dutch translation. (Thank you, Jeroen!)
  • Added german translation. (Thank you, Martin!)


  • The ability to enable / disable the Ajax Update has been removed. It introduced a random bug that doubled the views count of some posts / pages. Will be added back when a fix is ready.
  • Fixed a bug preventing the cat parameter from excluding categories (widget was not affected by this).
  • FAQ section (Settings / WordPress Popular Posts / FAQ) updated.
  • Added french translation. (Thanks, Le Raconteur!)


  • Fixed bug caused by the sorter function when there are multiple instances of the widget.
  • Added check for new options in the get_popular_posts function.
  • Added plugin version check to handle upgrades.
  • Fixed bug preventing some site from fetching images from subdomains or external sites.
  • Fixed bug that prevented excluding more than one category using the Category filter.


  • Merged all pages into Settings/WordPress Popular Posts.
  • Added new options to the WordPress Popular Posts Stats dashboard.
  • Added check for static homepages to avoid printing ajax script there.
  • Database queries re-built from scratch for optimization.
  • Added the ability to remove / enable plugin's stylesheet from the admin.
  • Added the ability to enable / disable ajax update from the admin.
  • Added the ability to set thumbnail's source from the admin.
  • Timthumb support re-added.
  • Added support for custom post type (Thanks, Brad Williams!).
  • Improved the category filtering feature.
  • Added the ability to get popular posts from given author IDs.


  • Quick update to fix error with All-time combined with views breaking the plugin.


  • Featured Image is generated for the user automatically if not present and if there's an image attached to the post.
  • Range feature Today option changed. Replaced with Last 24 hours.
  • Category exclusion query simplified. Thanks to almergabor for the suggestion!
  • Fixed bug caused by selecting Avg. Views and All-Time that prevented WPP from getting any data from the BD. Thanks Janseo!
  • Updated the get_summary function to strip out shortcodes from excerpt as well.
  • Fixed bug in the truncate function affecting accented characters. Thanks r3df!
  • Fixed bug keeping db tables from being created. Thanks northlake!
  • Fixed bug on the shortcode which was showing pages even if turned off. Thanks danpkraus!


  • Added stylesheet detection. If wpp.css is on theme's folder, will use that instead the one bundled with the plugin.


  • Added DB character set and collate detection.
  • Fixed excerpt translation issue when the qTrans plugin is present. Thanks r3df!.
  • Fixed thumbnail dimensions issue.
  • Fixed widget page link.
  • Fixed widget title encoding bug.
  • Fixed deprecated errors on load_plugin_textdomain and add_submenu_page.


  • Dropped TimThumb support in favor of WordPress's Featured Image function.


  • Added italian localization. Thanks Gianni!
  • Added charset detection.
  • Fixed bug preventing HTML View / Visual View on Edit Post page from working.


  • Fixed bug preventing widget title from being saved.
  • Fixed bug affecting blogs with WordPress installed somewhere else than domain's root.
  • Added htmlentities to post titles.
  • Added default thumbnail image if none is found in the post.


  • Title special HTML entities bug fixed.
  • Thumbnail feature improved! WordPress Popular Posts now supports The Post Thumbnail feature. You can choose whether to select your own thumbnails, or let WordPress Popular Posts create them for you!
  • Shortcode bug fixed. Thanks Krokkodriljo!
  • Category exclusion feature improved. Thanks raamdev!


  • Added a Statistics Dashboard to Admin panel so users can view what's popular directly from there.
  • Users can now select a different date format.
  • get_mostpopular() function deprecated. Replaced with wpp_get_mostpopular().
  • Cache maintenance bug fixed.
  • Several UI enhancements were applied to this version.


  • "Keep text format and links" feature introduced. If selected, formatting tags and hyperlinks won't be removed from excerpt.
  • Post title excerpt html entities bug fixed. It was causing the excerpt function to display more characters than the requested by user.
  • Several shortcode bugs fixed (range, order_by, do_pattern, pattern_form were not working as expected).


  • Post title excerpt now includes html entities. Characters like ÅÄÖ should display properly now.
  • Post excerpt has been improved. Now it supports the following HTML tags: a, b, i, strong, em.
  • Template tag wpp_get_views() added. Retrieves the views count of a single post.
  • Template tag get_mostpopular() re-added. Parameter support included.
  • Shortcode bug fixed (range was always "daily" no matter what option was being selected by the user).


  • Plugin rewritten to support Multi-Widget capabilities
  • Cache table implemented
  • Shortcode support added
  • Category exclusion feature added
  • Ajax update added - plugin is now compatible with caching plugins such as WP Super Cache
  • Thumbnail feature improved - some bugs were fixed, too
  • Maintenance page added


  • Widget bug fixed


  • Database improvements implemented
  • WP-PostRatings support added
  • Thumbnail feature added


  • Bug in get_mostpopular function affected comments on single.php
  • "Show pageviews" option bug fixed
  • Added "content formatting tags" functionality


  • Added new localizable strings
  • Fixed Admin page coding bug that was affecting the styling of WPP


  • HTML Markup customizer added
  • Removed some unnessesary files


  • Korean and Swedish are supported


  • Code snippet bug found


  • Found database bug affecting only new installations


  • Massive code enhancement
  • CSS bugs fixed
  • Features added: Time Range; author and date (stats tag); separate settings for Widget and Code Snippet


  • Permalink bug fixed


  • Admin panel styling bug fixed


  • Added an Admin page for a better management of the plugin
  • New sorting options (sort posts by comment count, by pageviews, or by average daily views) added


  • Added extra functionalities to WordPress Popular Post plugin core


  • Fixed comment count bug


  • Public release

Requires: 3.8 or higher
Compatible up to: 4.2.2
Last Updated: 2015-4-27
Active Installs: 200,000+


4.5 out of 5 stars


36 of 47 support threads in the last two months have been resolved.

Got something to say? Need help?


Not enough data

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

89,9,8 33,3,1
100,4,4 0,2,0
0,1,0 42,12,5 100,3,3 60,5,3 0,2,0
80,10,8 93,14,13 100,1,1 0,3,0
100,5,5 44,9,4 40,5,2 100,2,2 85,13,11
67,6,4 0,1,0
50,4,2 0,1,0
100,1,1 100,1,1
87,15,13 60,5,3 34,29,10 25,4,1 75,4,3 100,1,1
0,3,0 100,5,5
100,1,1 71,17,12 50,2,1 100,1,1
50,2,1 100,1,1
100,1,1 86,7,6 14,37,5 43,7,3 100,1,1
100,1,1 50,2,1 61,33,20 100,1,1
33,6,2 100,1,1
100,1,1 64,11,7 100,1,1 100,1,1 43,7,3 100,1,1
20,5,1 33,3,1 50,2,1
50,2,1 67,6,4
67,3,2 100,1,1
43,7,3 100,1,1
100,1,1 100,1,1
80,5,4 100,1,1 100,1,1
100,2,2 100,4,4 100,3,3 100,3,3 100,5,5 100,2,2 100,1,1
67,3,2 100,1,1 100,1,1
100,1,1 100,1,1
75,4,3 25,4,1 100,4,4 100,2,2 100,1,1
100,2,2 100,1,1 100,3,3 100,1,1
100,4,4 100,2,2
100,6,6 100,1,1
100,1,1 100,1,1