Mark New Posts


Highlight unread posts on your blog.

Key features:

  • Works right out of the box
  • Uses cookies, no authorization required
  • 4 different types of markers for highlighting posts (a «new» text label,
    an orange circle, etc.)
  • Customizable background color for unread post titles

There’s a setting to determine when a post should be considered read. You can pick one of the following:

  • after it was opened
  • after it was displayed in the post list
  • after opening any page of the blog

Functions available for theme developers:

  • mnp_is_new_post($post) – check if a post is unread
  • mnp_new_posts_count($query) – get unread posts count


  • Marker type: «New» text (Twenty Twenty-One)
  • Marker type: «New» text (Twenty Twenty)
  • Marker type: Circle (old WP theme)

Vanlege spm.

1. How can I check that the plugin works?

  1. Install and activate the plugin;
  2. Open your blog’s main page;
  3. Add a new post to your blog;
  4. Open the main page once again. An orange circle should appear to the left of the new post’s title.

2. Is it possible to highlight all the posts published in a recent few days for new visitors?

Yes. Just set these two options:
* «A post only stays highlighted for N days after publishing» -> set the amount of days
* «Show all existing posts as new to new visitors» -> check

3. The plugin is exploding my page’s markup. How to fix it?

Try to enable the option «Check page markup before displaying a marker» (plugin options, advanced settings).

4. What do I need the mnp_is_new_post() and mnp_new_posts_count() functions for?

These two functions may be useful for developing WordPress themes.


Returns true if a specific post is unread, otherwise false.
Parameters: $post (optional) – post ID or object.


Returns the total number of unread posts, optionally filtered.
Parameters: $query (optional) – WP_Query query string.

echo mnp_new_posts_count('cat=1');

This will show the number of unread posts in category with id = 1.


28. februar 2024
Searching for a tool that shows new blogs on my website, finaly find it and it works great. It shows a «News» button and it highlights the blog text. After opening the blog the buton disapears to show that the user reads the blog. Perfect and easy. Suggestion: Place multiple buttons or give multiple choice of buttons like «Live» «Coming up», or customizable fields…


25. september 2023
Good plugin with simple mechanism
Les alle 12 omtalar

Bidragsytarar og utviklarar

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




  • Fixed: «Allow outside the post list» option makes markup appear in admin post list


  • «Allow outside the post list» option
  • Cosmetic: fixed some of the texts on the settings page


  • Fixed a conflict with Buddypress. I hope now we can be buddies again. Thanks a lot to teeboy4real and r-a-y!
  • Improved performance
  • If you’ve read this far AND if you like this plugin, why not give it a nice review? It would be lovely!


  • Fixed a conflict with WPForms plugin. A message «Notice: is_404 was called incorrectly» appeared when trying to open the Settings page of WPForms.


  • The «New» marker type now has a better support for the old built-in WordPress themes, because they’re awesome.


  • Post title background colour validation
  • Marker type «Custom image» removed for security reasons


  • An option to change the background colour for unread post titles
  • Open your blog with ?mnp-test=1 in the page title to test the plugin (all posts will be shown as unread)
  • mnp-title-wrapper class replaced with mnp-unread


  • «Disable for custom posts» option


  • Added a new colour for the «New» text to fit in the Twenty-Twenty WordPress theme. Now it’s the default marker type.
  • Changed buttons placement in the settings screen. Yeah, I know… Sorry for that.
  • Fixed flickering pieces of code on blog pages that appear when the «Check markup» option is active


  • Back after 4 years of inactivity!
  • Temporary new logo
  • Fixed a CSS bug for Image and Flag marker types, where the marker would float away to the left of the screen
  • Fixed warnings in Debug mode


  • New translation: Russian
  • New option: mark posts as read after opening any page of the blog
  • New option: posts stay marked as new only for a certain amount of days after publishing
  • New option: mark all existing posts as new to new visitors
  • If the two options above are activated, then when someone visits your blog even for the first time, he will see all the most recent posts highlighted


  • Fixed notices in debug mode


  • mnp_new_posts_count() speed up


  • Fixed minor bug: 2nd argument might not be passed to the_title filter in some themes


  • Fixed blank screen when not running on Apache


  • Unicode flag marker replaced with an image (because of Unicode issues in Firefox)
    icon by Vectors Market from, CC BY 3.0 license
  • Code refactoring and optimization
  • Better way of markup checking
  • Settings page redesign


  • Detect prefetching


  • New marker placement: before and after post title
  • Incorrect markup check is disabled by default to use less memory


  • Fixed: incorrect markup when the_title() is being called from an attribute value


  • «Mark posts as read only after opening» option now works for post excerpts too


  • New marker type: flag (unicode character)
  • New option: the marker can be placed before or after the title of a post
  • New marker type: custom image
  • Fixed bug: after opening a post’s preview it’s getting marked as read
  • Fixed bug: sometimes the marker falls on another line
  • Fixed: marker gets wrapped on new line in post’s navigation block


  • i18n
  • Added «Mark post as read only after opening» option
  • New marker type: image. «Label New Blue» icon by Jack Cai, CC BY-ND 3.0 license


  • This plugin is based upon KB New Posts 0.1 by Adam R. Brown
  • New functions for using in WordPress themes: mnp_is_new_post and mnp_new_posts_count
  • 2 new ways of highlighting unread posts