Most and Least Read Posts Widget for WordPress


Most and Least Read Posts Widget is a free plugin for WordPress, developed by the staff to show lists of the most and least read posts.

WordPress most read posts options

The following options are customizable:

  • number of posts to show
  • exclude post whose title contains certain words

The plugin starts counting hits once activated, storing them in the “custom_total_hits” custom field without the need of external accounts.

The most popular web crawlers (e.g. Googlebot) are recognized and their hits discarded.

The plugin is compatible with multi-language WPML plugin, showing most/least read posts for current language.


Download the plugin from the official WordPress website, clicking on the button:


28 thoughts on “Most and Least Read Posts Widget for WordPress

  1. avatarGeorge Philip


    Thanks for this great plugin. I would like to have in my template – without dragging widgets – using php code, as to have two distinct blocks: one for the 3 most read posts, the other for the 3 least read posts. Could you please elaborate on the php code inset?

    Thanks in advance.


    1. avatarWhileTrue Post author

      Hi George, I’ve never tried it. You could do it using the “the_widget” WP function, something like this:

      'Most Read Posts', 'posts_number'=>3);
      the_widget('MostReadPostsWidget', $widget_instance);

      $widget_instance= array('title'=>'Least Read Posts', 'posts_number'=>3);
      the_widget('LeastReadPostsWidget', $widget_instance);

  2. avatarjack

    I love the plugin, but it counts readings if I refresh post, first of all, I am admin and it should not do that. It should not count admin reads, only visitors reads.

    can you fix it?

    1. avatarWhileTrue Post author

      Hi Jack, the feature you requested is included in the new 2.0.3 plugin release, out today. Thanks for your support!

      1. avatardstudio101

        Mine is the opposite – I only read admin or logged in readers – how do I go about this? 🙂 or maybe I’d like to read both visitors and logged in only.


  3. avatarTim

    This widget is great however if an image from a previous month is included in a post it will not show up as the thumbnail.

  4. avataritsandviks

    This pligin look promising-, will it work on a multisite?
    Getting most read posts of all sites on the multisite?

    Br itsandviks

  5. avatarMrPierc

    Hello While True and thanks for really good plugin “Most and Least Read Posts Widget for WordPress”.

    I have question: I use this plugin many months and i would like remove space in first word in list. In other plugins i have no space before first word.

    is possible somehow remove the space in htm lcode in most-and-least-read-posts-widget/most_and_least_read_posts.php?

    Thanks again for plugin and for tips.
    * Sorry for my bad EN.

    1. avatarWhileTrue Post author

      Hi, the 2.1.1 plugin release out now should solve the spacing issue. If not, please tell me your site URL for further client code inspection.

  6. avatarJim Devereaux

    Hey there,

    I really like the plugin great job, however I was wondering if there’s a way to reduce the size of the displayed thumbnails in the widget?

    My thumbnails are 150×150 pixels which makes them a bit big to display as it takes up too much room and pushes the text onto a line below the image if the title is more than a few words. Can I recode it to say, display half the thumb size at 75 x 75?


    1. avatarWhileTrue Post author

      Hi Jim, you can do it adding a CSS line to your theme style.css file, like this:
      .mlrp_ul img { width: 75px; }

  7. avatarRobert

    I’m using one of your WP plugins – most/least read posts and I’d like to ask if it is possible to set the attributes so that the title of the post wouldn’t start next to the post (feature) image but below it because now it doesn’t look good on my site


    1. avatarWhileTrue Post author

      Hi Robert, you can adjust it adding to your theme style.css file some CSS rules like this:
      .mlrp_ul img { float:left; margin-right: 10px; }
      .mlrp_ul li { clear: both; }

  8. avatarmichael

    dear giuliano,

    thank you for your plugin, it is very useful. what I would like to ask:
    is there an option to format the display of the results? what I would need is an option to graphically enhance the appearance, let’s say like this:

    post title (left / right / font formatting)

    thumbnail (size / left / right)

    post text excerpt (left / right / font formatting / number of letters)

    pls advise how to proceed, it would be a great help, thank you for your attention.


    1. avatarWhileTrue Post author

      Hi Michael, you can format the content adding to your theme style.css file some CSS rules like this:
      .mlrp_ul img { float:left; margin-right: 10px; }
      /* CUSTOMIZE POST */
      .mlrp_ul li { text-align:right; font-size: 14px; clear: both; }

      1. avatarmichael

        thank you for the quick reply, Giuliano!
        is there an option to display a post text excerpt and to format ist ?

  9. avatarcharlie

    Hi! I love the widget, but I was wondering, any chance I can use it to display the top/most read/most recent portfolio items instead of posts?
    Grazie 😉

  10. avatarCharlotte

    Hello WhileTrue!

    I love your plugin – performs like a champ!!

    Question: I would love to get a shortcode of this to use in a post – can you please add this feature? Or tell me how I can do this??

    Thanks so much,


    1. avatarWhileTrue Post author

      Hi Charlotte,
      really a good idea, so good that I just implemented it!

      Plugin 2.5.0 release is out, with experimental shortcode support. Use it like this:
      [most_read_posts type=”most” posts_number=”5″ show_thumbs=”false”]

      Supported attributes:

      • type: “most” or “least”
      • posts_number
      • words_excluded
      • title_max_chars
      • excerpt_max_chars
      • show_thumbs: “true” or “false”
      • add_line_break_before_thumbs: “true” or “false”
      • show_hits: “true” or “false”
      • show_hits_text (default: “views”)
      • days_ago
  11. avatarM. Jordan

    sadly, with Elementor 3.7.2 it does not show the excerpt but something like

    “/*! elementor – v3.6.8 – 27-07-2022 */ .elementor-heading-title{padding:0;margin:0;line-height:1}”

    in some cases it shows the correct excerpt. I could not determine, what’s the difference: both cases are made with the same Elementor version.


Leave a Reply

Your email address will not be published. Required fields are marked *