Skip to content

Pin Activities From the Stream

Pinning is a one-click action from the activity meta of any post. Whoever has permission sees a Pin Post button in the activity actions; once pinned, the same post shows a Pinned ribbon and the button flips to Unpin Post.

Pin Post button on a frontend activity

  1. Open the activity stream — /activity/, a group’s Activity tab, or a profile’s Activity tab.
  2. Find the activity to pin.
  3. Click Pin Post under the activity.

The activity stream updates in place — no page reload occurs. The activity jumps to the top of whichever stream it belongs to and a blue “Pinned” ribbon appears in the top-right corner.

Pinned ribbon on the activity stream

Click Unpin Post under the same activity. The ribbon disappears and the activity returns to its normal chronological position.

The button only renders for users who:

  • Are logged in.
  • Have the bp_moderate capability or belong to a role ticked in Permissions → Who Can Pin.
  • Are looking at an eligible activity for that scope (sitewide on /activity/, their own posts on a profile, group activity inside a group).

A logged-out visitor never sees the button. A regular member viewing someone else’s profile activity never sees it either — only the profile owner can pin to their own profile.

The button text is configurable. Defaults are Pin Post and Unpin Post, set in Appearance → Button Labels. Many communities rename them to match their voice — Feature, Highlight, Star. Short verbs work best.

When you pin an activity:

  1. A row is written to {prefix}bpsp_sticky_posts with the activity ID, scope (component + group), pin type (administrator / user), pinner ID, and timestamp.
  2. The activity gets _bpsp_pinned_time and _bpsp_pinned_by activity meta.
  3. If the Activity Log is enabled, a pin row goes into {prefix}bpsp_activity_logs.
  4. Caches keyed on bpsp_sticky_posts_{component}_{id} are flushed.
  5. Optional gamification hooks fire — see Gamification.

Unpinning reverses each step.

  • Pin Scopes — what “sitewide / personal / group” means in detail.
  • Pin Quotas — how the per-user / per-admin caps work.
  • Activity Log — audit trail for every pin / unpin.