WordPress Popular Posts


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

Main Features

  • Multi-widget capable – You can have several widgets of WordPress Popular Posts on your blog, each with its own settings!
  • Time Range – List those posts of your blog that have been the most popular ones within a specific time range (eg. last 24 hours, last 7 days, last 30 days, etc)!
  • Custom Post-type support – Want to show other stuff than just posts and pages, eg. Popular Products? You can!
  • Thumbnails! – Display a thumbnail of your posts! (see the FAQ section for more details.)
  • Statistics dashboard – See how your popular posts are doing directly from your admin area.
  • Sorting options – Order your popular list by comments, views (default) or average views per day!
  • Custom themes – Out of the box, WordPress Popular Posts includes some themes so you can style your popular posts list (see Widget Themes for more details).
  • Use your own layout! – WPP is flexible enough to let you customize the look and feel of your popular posts! (see customizing WPP’s HTML markup and How to style WordPress Popular Posts for more.)
  • Advanced caching features! – WordPress Popular Posts includes a few options to make sure your site’s performance stays as good as ever! (see Performance for more details.)
  • REST API Support – Embed your popular posts in your (web) app! (see REST API Endpoints for more.)
  • Disqus support – Sort your popular posts by Disqus comments count!
  • Polylang & WPML 3.2+ support – Show the translated version of your popular posts!
  • WordPress Multisite support – Each site on the network can have its own popular posts list!

Other Features

  • Shortcode support – Use the [wpp] shortcode to showcase your most popular posts on pages, too! For usage and instructions, please refer to the Installation section.
  • Template tags – Don’t feel like using widgets? No problem! You can still embed your most popular entries on your theme using the wpp_get_mostpopular() template tag. Additionally, the wpp_get_views() template tag allows you to retrieve the views count for a particular post. For usage and instructions, please refer to the Installation section.
  • LocalizationTranslate WPP into your own language.
  • WP-PostRatings support – Show your visitors how your readers are rating your posts!

PSA: The classic WordPress Popular Posts widget is going away!

The classic WordPress Popular Posts widget doesn’t work very well / at all with the new Widgets screen introduced with WordPress 5.8.

This new Widgets screen expects WordPress blocks instead of regular WordPress widgets. If you’re using the classic WordPress Popular Posts widget on your block-based Widgets screen please replace it with the WordPress Popular Posts block instead – it has the same features and functionality as the “classic” widget so you won’t be missing anything at all.

Bjorn from wplearninglab.com was kind enough to create a video explaining how to use the new block for all of you visual learners:

If you cannot (or do not want to) use WordPress blocks on your website then please replace your classic widget with the [wpp] shortcode.

Support the Project!

If you’d like to support my work and efforts to creating and maintaining more open source projects your donations and messages of support mean a lot!

Buy me a coffee | PayPal

WordPress Popular Posts is now also on GitHub!

Looking for a Recent Posts widget just as featured-packed as WordPress Popular Posts? Try Recently!


  • Flame graphic by freevector/Vecteezy.com.


  • The WordPress Popular Posts block.
  • The WordPress Popular Posts block on theme’s sidebar.
  • Dashboard widget.
  • Statistics panel.


This plugin provides 1 block.

  • WordPress Popular Posts


Please make sure your site meets the minimum requirements before proceeding.

Automatic installation

  1. Log in into your WordPress dashboard.
  2. Go to Plugins > Add New.
  3. In the “Search Plugins” field, type in WordPress Popular Posts and hit Enter.
  4. Find the plugin in the search results list and click on the “Install Now” button.

Manual installation

  1. Download the plugin and extract its contents.
  2. Upload the wordpress-popular-posts folder to the /wp-content/plugins/ directory.
  3. Activate the WordPress Popular Posts plugin through the “Plugins” menu in WordPress.

Done! What’s next?

  1. Go to Appearance > Widgets, drag and drop the WordPress Popular Posts widget to your sidebar. Once you’re done configuring it, hit the Save button.
  2. If you have a caching plugin installed on your site, flush its cache now so WPP can start tracking your site.
  3. If you have a plugin that minifies JavaScript (JS) installed on your site please read this FAQ: Is WordPress Popular Posts compatible with plugins that minify/bundle JavaScript code?
  4. If you have a security / firewall plugin installed on your site, make sure you allow WPP access to the REST API so it can start tracking your site.
  5. Go to Appearance > Editor. Under “Templates”, click on header.php and make sure that the <?php wp_head(); ?> tag is present (should be right before the closing </head> tag).
  6. (Optional but highly recommended) Are you running a medium/high traffic site? If so, it might be a good idea to check these suggestions to make sure your site’s performance stays up to par.

That’s it!


WordPress Popular Posts can be used in three different ways:

  1. If you’re using the Block Editor you can insert a WordPress Popular Posts block on your sidebar and even anywhere within your posts and pages.
  2. As a template tag: you can place it anywhere on your theme with wpp_get_mostpopular().
  3. Via shortcode, so you can embed it inside a post or a page.

Make sure to stop by the Wiki as well, you’ll find even more info there!


The FAQ section has been moved here.


ሚያዝያ 2, 2024 1 reply
Randomly the ‘Time Range’ setting changes to 7 days instead of staying at 30 days. Been active for nearly three months so far. Several times have had to log in and change the setting back. Maybe some other plugin I am using may be causing the conflict. IDK. Other than this odd situation the plugin works as expected to show the most popular posts.
መጋቢት 16, 2024 1 reply
Works as described, easy to set up, good documentation, option to use shortcode or custom queries. Just perfect.
ነሓሰ 21, 2023
<!– wp:paragraph –> <p class=””>This plugin no longer supports classic widget, which is a bummer. Also for the last few updates, the data is inaccurate and it appears to be quite resource-intensive. Removed it and replaced with something else.</p> <!– /wp:paragraph –>
ነሓሰ 8, 2023 1 reply
I’d been using this plugin for a few years without problems, but the developer was super-helpful in pinpointing a fairly specific to my particular hosting environment PHP problem that occurred during an upgrade.
ሓምለ 31, 2023 1 reply
I’m using the plugin on several websites for some years now. It has been working without any problems so far. Plus: Plugin support is helpful and quick although for free.
Read all 241 reviews

Contributors & Developers

“WordPress Popular Posts” is open source software. The following people have contributed to this plugin.


“WordPress Popular Posts” has been translated into 15 locales. Thank you to the translators for their contributions.

Translate “WordPress Popular Posts” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Fixes default thumbnail resetting to the stock “No Thumbnail” image (props to aalmans!)
  • Fixes filtering by category / taxonomy when using Polylang (props to mlepore and wpfed!)
  • Updates dependencies.

Release notes


  • Adds support for webp images.
  • Minor fixes / improvements.

Release notes


If you’re using a caching plugin on your website it’s highly recommended to clear its cache after installing / updating to this version.

  • Fixes a fatal issue caused by the views_count shortcode when providing an invalid time range.
  • The views_count shortcode can now render a “prettified” version of the views count (eg. 6.2k instead of 6,265).
  • The wpp shortcode has now a “toggle” to enable/disable AJAX loading.
  • Adds /views REST API endpoints.
  • Fixes fatal error that can happen when themes define image sizes using the array format for the crop parameter.
  • Fixes fatal error that can happen while the plugin is deleting its own transients.
  • Other minor fixes / improvements.

Release notes


If you’re using a caching plugin on your website, clearing its cache after installing / updating to this version is highly recommended.

  • Patches issue affecting non-HTML5 friendly WordPress themes after the WP 6.4 update.
  • Adds a button to reset the default thumbnail.
  • Minor fixes and improvements.

Release notes


  • Security enhancements (props to the Patchstack team!)
  • Updates dependencies.

Release notes


  • Fixes a PHP notice coming from the [wpp] shortcode.
  • Removes legacy AJAX code from the plugin.

Release notes


If you’re using a caching plugin on your website, clearing its cache after installing / updating to this version is highly recommended.

  • Improves compatibility with newer versions of PHP 8 (thanks ispreview and dimal for the heads-up!)
  • Introduces new shortcode to render views count (see Release notes for more details).
  • Shares post_id value with render_image filter hook for more flexibility.
  • Fixes a fatal error when the PHP extension mbstring is not installed.
  • Updates wpp.min.js.

Release notes


  • Fixes an issue where the [wpp] shortcode would get stuck at the loading animation.


If you’re using a caching plugin on your website, clearing its cache after installing / updating to this version is highly recommended.

  • The [wpp] shortcode has now the ability to load itself via AJAX.
  • Fixes an issue where for certain server configurations the popular posts list would output garbled text.
  • Fixes an issue where PHP would throw notices due to the usage of HTML5 tags.

Release notes


If you’re using a caching plugin on your website, clearing its cache after installing / updating to this version is highly recommended.

  • Fixes an issue where the [wpp] shortcode might output empty paragraphs under certain conditions.
  • Reverts “uglification” of wpp.min.js which caused popular post list(s) not to load under certain conditions.
  • Widget’s deprecation notice has been reworded for clarity.
  • Updates dependencies + minor code cleanup.

Release notes


  • Hotfix: Fixes rare PHP fatal error in Admin.php (props to winetravelista and scotttripatrek!)

Release notes


If you’re using a caching plugin on your website, clearing its cache after installing / updating to this version is highly recommended.

  • Deprecation Notice: The WordPress Popular Posts “classic” widget is going away! If you’re using the classic widget please replace it with the WordPress Popular Posts block or the [wpp] shortcode as soon as possible. See release notes for more details.
  • Plugin now uses the Tax_Query class to filter popular posts by taxonomy, pretty much similar to how WP_Query does it.
  • Fixes an issue where selecting the Tiny theme would override the heading of the popular posts list.
  • Fixes an issue where taxonomy links would render an extra whitespace for some browsers.
  • Fixes issue where when using a theme (eg. Cards) post titles would be unintentionally truncated.
  • Adds decoding=async property to WPP’s thumbnail.
  • General PHPCS/WPCS code improvements.

Release notes


  • Fixes a rare PHP fatal error that can occur during plugin activation.
  • Block: adds links to documentation within the block form for ease of access.
  • Updates dependencies.

Release notes


  • Improves PHP 8.1 support.
  • Adds new filter to modify the post date.
  • Adds check to prevent the misuse of the Data Sampling feature (props to the JPCERT/CC team for reporting this issue).
  • Updates dependencies.

Release notes

Full Changelog