Skip to content

Gated content

Any post or stream item can require a subscription tier. Loveshack enforces that requirement consistently across every surface that can expose content.

Gating a post

Set the required subscription tier on the post. A post with no required tier is public.

Where the gate applies

Surface Behavior for a gated post
Public RSS feed Excluded entirely
Private subscriber feed Included only if the subscriber's tier grants access
Digest email Included only if the subscriber's tier grants access
Single post view Gated, with a subscription prompt in place of the content

The same access check backs all four. This is the property that makes the system trustworthy: there is no path where a feed or an email leaks something the single post view would have blocked.

Public feeds exclude gated posts entirely

A gated post does not appear in the public feed as a teaser — it is absent. If you want a public teaser for paid content, publish it as a separate public post that links to the gated one.

REST API, embeds, and the fediverse

The same check also covers the surfaces other software reads:

  • REST API. For visitors without access, /wp-json/wp/v2/ responses for a gated post carry no content, and the excerpt is the public teaser. Users who can edit the post still receive it in full.
  • Embeds. The oEmbed card of a gated post shows the public teaser.
  • ActivityPub. Gated posts are not federated. See ActivityPub.
  • Thread replies and the Landing Page template. A gated reply under a public post, and a gated page using the Landing Page template, show the subscription prompt instead of their content.

Access checks in code

Gate logic lives in the subscription-gate template tags. When building custom templates or a child theme, route access decisions through those functions rather than comparing tier values by hand — otherwise a future change to the tier model silently breaks the check.

Designing the gate

A few things worth deciding before you gate anything:

  • What stays free. A stream where every item is gated gives a first-time visitor nothing to evaluate.
  • Whether older posts ungate. Loveshack gates by tier, not by age; a time-based release requires editing the post.
  • What the gated view says. The prompt replacing the content is the conversion moment — it should say what they get, not just that they are blocked.