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.