Skip to content

WP Stories

Your BuddyPress community feed is a scrollable list with no ephemeral, visual-first format to drive quick engagement.

PluginBuddyPressPeepSo

Instagram-style stories for WordPress. Members post photos and videos that appear in a tappable tray and disappear after a set time - or stay forever, if that is what you want.

Works standalone, and integrates with BuddyPress, BuddyBoss Platform and PeepSo.

Requires: WordPress 6.5+, PHP 8.1+. Tested up to WordPress 7.1 and BuddyPress 14.5.


I have just installed the plugin. → Installation → Quick setup

Between them these get you from a fresh activation to a working story tray on a page, in about ten minutes.

I want stories on my community site. → BuddyPress · BuddyBoss · PeepSo

Turn on the integration and the stories row appears above the activity feed, with a Your story circle members tap to post.

I want to know what members see. → Post a story · Watch stories · See who viewed your story

I want stories somewhere specific. → Shortcode reference

Five shortcodes cover the stories row, a single collection and one member’s stories; add form="1" to show the Your story control for posting.


I want to… Go to
See every feature at a glance Feature catalog
Change how long stories stay visible Display options - Story Expiry
Delete old stories automatically to save space Display options - Stories & Attachment Deletion
Choose who may post stories User publishing - Authorized User Roles
Control who members can share with User publishing - Available Visibility Options
Review stories before they appear User publishing - Default Publication Status
Limit file types or sizes User publishing - Maximum File Size
Change the display style General settings
Change circle size, colours or the viewer background Styling options
Find other Wbcom plugins Discover tab

→ FAQ · Common issues

The FAQ answers the quick questions; Common issues covers the usual problems: the tray not appearing, uploads failing, stories vanishing sooner than expected, and the story viewer not opening.

Two behaviours that look like bugs but are not:

  • A story disappeared before its expiry. Check Story Expiry and whether the member set it to a restricted visibility - a friends-only story is invisible to non-friends regardless of expiry.
  • “Only Me” stories are visible to administrators. That is what the setting has always done; as of 2.4.2 the label says so.

What members and site owners will notice:

  • One “Your story” circle. The member’s own circle leads the stories row and carries a small + badge for posting. Collections are separate circles under their own names.
  • Double-tap to like, a like count, and a … menu on your own story to delete a photo or video without leaving the viewer.
  • Seen by is one compact row per viewer, most recent first, with a heart for viewers who liked it. The BuddyPress friendship button is no longer shown in this list; PeepSo keeps its member buttons.
  • The posting form no longer lists your existing collections. Manage collection items from the viewer’s … menu or the profile Stories page.
  • Circle names follow your theme’s text colour, so they stay readable in dark mode. If you set a Title Color in Styling Options it still applies; the old default dark grey is now treated as “use the theme”.
  • Circle Size (Small, Medium, Large) is a new Styling Options setting. Medium matches earlier versions.
  • Requirements: PHP 8.1 or newer.

Two things to know before you update a live site.

Automatic deletion now works. It never actually ran in earlier versions because of a bug. If you had Schedule Automatic Deletion switched on, your stories were never deleted - so simply fixing it would have removed everything older than your retention period on the first run. Instead, deletion is paused after updating and you get an admin notice telling you exactly how many stories are affected. Nothing is deleted until you review the setting and save it. Full detail: Display options.

Friends-only stories become visible to more people. The friendship lookup previously only ran inside the activity stream, so friends-only behaved like private everywhere else. It now works on every surface. This is the setting doing what it always claimed, but it is a visible change.


→ Hooks and filters - every action and filter, with signatures and file references → Image editor

The plugin has no custom REST controllers. Front-end behaviour runs through eight AJAX actions; the three that read or write a story resolve access through a single filterable check, wp_stories_user_can_view_story_item.