Unread Posts

Unread Posts

Wordpress plugin

Install on Wordpress

App Details

Unread posts is a plugin for regular users and developers alike. For regular users it allows for the creation of widgets that display posts the user has not yet read. It will work for logged in and logged out users as well. You can also add unread posts just below your single post content.

For logged out users the plugin uses cookies so please make sure your users consent to cookies by using a plugin like Cookie Law Info.

The plugin contains a bunch of developer friendly features so you can easily leverage the core functionality, the management of read/unread posts. The class may be used alone, you can use some built in functions and I’ve added a bunch of filters for you to modify everything from what shows up in lists to how the lists are actually displayed.

For more information on developer features take a look at the Other Notes section.

Usage

The plugin offers a widget and an optional section below posts. The widget can be added in Appearance->Widgets and has a number of options. Hopefully these are all self explanatory, let me know if you have any questions.

There is also a settings section under Settings->Unread Posts. This page contains settings for the unread posts section to be placed under posts. You can enable this section by ticking the “Show Below Post Content?” box. The options are much the same as the widgets but you have a bit more control over when and what is shown.

First of all, use “Show Below Post Types” setting to set where this section shows up at all. The unread posts section will only show up under posts with the set post type(s).

The “Post Types To List” section allows you to control which post types are shown in the list. If “Same as the current post” is selected the post types listed will match the post type shown. Ie: On pages only pages will be shown, on posts only posts will be shown.

If you select “Select from a list” you will get a dropdown which allows you to specify the post types you would like shown in the list.

Thanks

  • FontAwesome for the icons used in the plugin featured image and icon
    The plugin was written in a completely object oriented fashion to make it easy to extend. If you need to use the raw functionality of unread posts you’ll want to use the $up_unread_posts variable which can be globalized and used anywhere.

Using The Unread Posts Class

This has the following methods you can use:

  • set_posts_as_read( $posts )
  • set_posts_as_unread( $posts )
  • get_read_posts()
  • get_unread_posts()
  • delete_read_posts()

Please see the appropriate files for more information on these functions and how to use them. All files have extensive phpDoc which should help you out.

Depending on the user state different classes handle these functions, you can also create your own handler. Each handler must adhere to the UP_Unread_Posts_Handler_Interface interface.

Also note that some functions may not be usable everywhere. For example, cookies are used to store read posts. The value of cookies must be set before any HTML is sent so you can’t just use the set_posts_as_read() function anywhere you’d like.

Hooks

The plugin has lots of hooks which help you extend it. Here is a full list of the ones available right now:

up/cookie_name
The default cookie name used will be ‘[blog-name]-up_read_posts’. If you’d like to change it you can use this filter. The only parameter it receives is the cookie name.

add_filter( 'up/cookie_name', 'my_up_cookie_name' ); function my_up_cookie_name() { return 'my-awesome-up-cookie'; } 

up/meta_field
The default user meta key used will be ‘up_read_posts’. If you’d like to change it you can use this filter. The only parameter it receives is the meta key name.

add_filter( 'up/meta_field', 'my_up_meta_field' ); function my_up_meta_field() { return 'my_read_posts'; } 

up/unread_query_args
This filter modifies the query arguments passed to the WP_Query object when querying for unread posts. Unread posts are retrieved by passing the array of read post IDs to the post__not_in parameter. If you would like to place additional restrictions you can do so with this filter. It receives the arguments as the first parameter.

add_filter( 'up/unread_query_args', 'my_up_unread_query_args' ); function my_up_unread_query_args( $args ) { $args['cat'] = 10; return $args; } 

up/unread_widget_display
This filter can modify the display of the post list in the widget. It receives three parameters. The original HTML to be displayed, the WP_Query object of unread posts and the instance variables for the widget. You can use it to completely customize the display of the posts.

add_filter( 'up/unread_widget_display', 'my_unread_widget_display', 10, 3 ); function my_unread_widget_display( $display, $unread, $instance ) { $output = '<ul>'; while( $unread->have_posts() ) { $unread->the_post(); $output = '<li>' . the_title( '', '', false ) . '</li>'; } $output = '</ul>'; return $output; } 

up/show_widget
If you want to hide the widget in the admin because you are only using the functionality of the plugin to build something yourself you can do so with this filter. Return false to hide the widget.

add_filter( 'up/show_widget', 'hide_up_widget' ); function hide_up_widget() { return false; } 

up/show_settings_page
If you want to hide the settings page in the admin because you are only using the functionality of the plugin to build something yourself you can do so with this filter. Return false to hide the settings page.

add_filter( 'up/show_settings_page', 'hide_settings_page' ); function hide_settings_page() { return false; } 

up/posts_section_settings
This filter can be used to modify the settings for the unread posts section shown below single posts. It’s only parameter is the settings it received, print that parameter to figure out all the options.

add_filter( 'up/posts_section_settings', 'my_posts_section_settings' ); function my_posts_section_settings( $settings ) { $settings['count'] = 10; return $settings; } 

up/unread_section_display
This filter can modify the display of the unread posts list shown below single posts. It receives three parameters. The original HTML to be displayed, the WP_Query object of unread posts and the settings for the section. You can use it to completely customize the display of the posts.

add_filter( 'up/unread_section_display', 'my_unread_section_display', 10, 3 ); function my_unread_section_display( $display, $unread, $settings ) { $output = '<ul>'; while( $unread->have_posts() ) { $unread->the_post(); $output = '<li>' . the_title( '', '', false ) . '</li>'; } $output = '</ul>'; return $output; } 

up/usable_post_types
If you would like to restrict the post types available to the plugin you can use this filter to do so. It takes the currently available post types as the first parameter.

add_filter( 'up/usable_post_types', 'my_usable_post_types' ); function my_usable_post_types( $post_types ) { $post_types = array( 'post', 'product' ); return $post_types; } 

Pricing

Starting from $0 per month.

Check Out the All In One Chat Widget

By Common Ninja

All In One ChatTry For Free!

App Info

Rating

Reviewers

1 reviews

Tags

posts
related
widget

Developed By

danielpataki

Quick & Easy

Find the Best Wordpress plugins for you

Common Ninja has a large selection of powerful Wordpress plugins that are easy to use, fully customizable, mobile-friendly and rich with features — so be sure to check them out!

Testimonial

Testimonial plugins for Wordpress

Galleries

Galleries plugins for Wordpress

SEO

SEO plugins for Wordpress

Contact Form

Contact Form plugins for Wordpress

Forms

Forms plugins for Wordpress

Social Feeds

Social Feeds plugins for Wordpress

Social Sharing

Social Sharing plugins for Wordpress

Events Calendar

Events Calendar plugins for Wordpress

Sliders

Sliders plugins for Wordpress

Analytics

Analytics plugins for Wordpress

Reviews

Reviews plugins for Wordpress

Comments

Comments plugins for Wordpress

Portfolio

Portfolio plugins for Wordpress

Maps

Maps plugins for Wordpress

Security

Security plugins for Wordpress

Translation

Translation plugins for Wordpress

Ads

Ads plugins for Wordpress

Video Player

Video Player plugins for Wordpress

Music Player

Music Player plugins for Wordpress

Backup

Backup plugins for Wordpress

Privacy

Privacy plugins for Wordpress

Optimize

Optimize plugins for Wordpress

Chat

Chat plugins for Wordpress

Countdown

Countdown plugins for Wordpress

Email Marketing

Email Marketing plugins for Wordpress

Tabs

Tabs plugins for Wordpress

Membership

Membership plugins for Wordpress

popup

popup plugins for Wordpress

SiteMap

SiteMap plugins for Wordpress

Payment

Payment plugins for Wordpress

Coming Soon

Coming Soon plugins for Wordpress

Ecommerce

Ecommerce plugins for Wordpress

Customer Support

Customer Support plugins for Wordpress

Inventory

Inventory plugins for Wordpress

Video Player

Video Player plugins for Wordpress

Testimonials

Testimonials plugins for Wordpress

Tabs

Tabs plugins for Wordpress

Social Sharing

Social Sharing plugins for Wordpress

Social Feeds

Social Feeds plugins for Wordpress

Slider

Slider plugins for Wordpress

Reviews

Reviews plugins for Wordpress

Portfolio

Portfolio plugins for Wordpress

Membership

Membership plugins for Wordpress

Forms

Forms plugins for Wordpress

Events Calendar

Events Calendar plugins for Wordpress

Contact

Contact plugins for Wordpress

Comments

Comments plugins for Wordpress

Analytics

Analytics plugins for Wordpress

Common Ninja Apps

Some of the best Common Ninja plugins for Wordpress

Browse our extensive collection of compatible plugins, and easily embed them on any website, blog, online store, e-commerce platform, or site builder.

All In One Chat for Wordpress logo

All In One Chat

Add a unified chat tool to your site that connects users via WhatsApp, Messenger, Telegram, or email for seamless support.

Social Proof Avatars for Wordpress logo

Social Proof Avatars

Display social proof avatars that show user activity and ratings, build trust instantly, and help visitors feel confident about your credibility.

Event List for Wordpress logo

Event List

Use an event list to highlight upcoming activities, improve visibility, and help visitors discover events that increase attendance and engagement.

Business Listings for Wordpress logo

Business Listings

Create business listings with a listings widget that presents companies clearly, supports easy organization, and helps visitors find the right services quickly.

Consent Form for Wordpress logo

Consent Form

Create consent forms that collect signatures, save submissions, send notifications, and help you manage approvals efficiently.

Team Member Flip Cards for Wordpress logo

Team Member Flip Cards

Show your team with interactive team member flip cards that build trust, support transparency, and help visitors connect with the people behind your brand.

G2 Reviews for Wordpress logo

G2 Reviews

Show G2 reviews to build trust, strengthen credibility, and help visitors make confident SaaS buying decisions that support higher sales.

Events Calendar for Wordpress logo

Events Calendar

Add an events calendar to your site so visitors can view upcoming activities, improving engagement and event visibility.

Collapsible Content for Wordpress logo

Collapsible Content

Use Collapsible Content sections to structure information on your site and make it easier for visitors to find what they need.

Restaurant Menu List for Wordpress logo

Restaurant Menu List

Create a clear restaurant menu list that helps visitors explore dishes easily, understand key details, and make confident ordering decisions that support conversions.

Card Carousel for Wordpress logo

Card Carousel

Showcase content with a card carousel that combines images and text, improves visual design, and helps visitors explore key information.

Coupon Popup for Wordpress logo

Coupon Popup

Use a coupon popup to highlight special offers, capture email leads, reduce cart abandonment, and turn more visitors into paying customers.

Discover Apps By Platform

Discover the best apps for your website

WordPress
Wix
Shopify
Weebly
Webflow
Joomla
PrestaShop
Shift4Shop
WebsiteX5
MODX
Opencart
NopCommerce

Common Ninja Search Engine

The Common Ninja Search Engine platform helps website builders find the best site widgets, apps, plugins, tools, add-ons, and extensions! Compatible with all major website building platforms - big or small - and updated regularly, our Search Engine tool provides you with the business tools your site needs!

Multiple platforms