This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Mark New Posts


Highlight unread WordPress posts.


  • Works right out of the box
  • 4 different types of markers for highlighting posts: an orange circle, a text label, a picture (default or custom) or a flag icon
  • A post gets marked as read…
  • after viewing the post’s page
  • or after viewing the post on any page
  • or after opening any page of the blog
  • 2 functions for WordPress developers: to check if a post is unread and to get the total number of unread posts


  • Settings page
  • Marker type: Circle
  • Marker type: "New" text
  • Marker type: Picture (default)


1. How can I see 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. 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).

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

These two functions could be useful for developing WordPress themes.


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


Returns the total number of unread posts.
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.


Read all 5 reviews

Contributors & Developers

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


Translate “Mark New Posts” into your language.

Interested in development?

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



  • 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


  • 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