Restrict Content Pro Setup
Restrict Content Pro (RCP) is a lightweight WordPress membership plugin focused on simplicity. It creates subscription levels, handles payments, and restricts content access — without the complexity of WooCommerce or the heavier feature set of MemberPress. It’s a good fit for podcasters who want a clean, focused membership system without extra overhead.
Before You Start
- Restrict Content Pro 3.4 or later must be installed, activated, and licensed. An older version is listed greyed out in the subscription plugin picker, the setup wizard and the switch wizard, with “Requires Restrict Content Pro 3.4 or later (you have …)”. Upgrade RCP before you connect. A show already connected to RCP 3.0–3.3 keeps working, but shows a Membership plugin needs attention notice until you update (see below), and Promote to Bridge needs 3.4.
- At least one RCP subscription level should exist before mapping tiers
- You should have a Benecaster paid license activated
Step 1: Connect the Bridge
Go to Benecaster → Shows → [your show] → Settings → Subscription.
If Restrict Content Pro is active, it appears in the subscription plugin list. Select it and click Connect.
Benecaster reads your RCP subscription levels and confirms the connection.
If RCP doesn’t appear in the list, confirm it’s active at Plugins → Installed Plugins and that your RCP license is valid. See Membership Plugin Not Connecting.
Step 2: Map Your Tiers
Go to Benecaster → Shows → [your show] → Settings → Subscription → Tier Mapping.
Benecaster lists all RCP subscription levels. Assign each level to the corresponding Benecaster tier. Levels left unmapped generate no feed access.
RCP subscription levels typically map cleanly to Benecaster tiers one-to-one. If you have monthly and annual variants of the same access level, map both to the same Benecaster tier.
A level set to Inactive is still listed, with a grey Signups closed label. Its members keep their access, so map it. [benecaster_pricing_table] and [benecaster_subscribe] leave it off, as RCP’s own registration form does. A level priced at 0 counts as free.
See Mapping Your Membership Tiers for guidance.
Mapping From RCP’s Level Form
You can also set the tier on RCP’s own level form instead: Restrict → Membership Levels, then Add New Level or edit a level. At the bottom there is one Benecaster Tier (show) dropdown per show. The dropdown lists the same tiers as Tier Mapping: Free, Paid, then each of the show’s tiers once, by name, including a tier no level is mapped to yet. Saving the level saves the mapping.
Every show’s dropdown is saved when you save the level. A show left on — None (unmapped) — is unmapped for that level, even if it was mapped before, so check each row before you save an existing level.
Your Subscribe Buttons
Once your levels are mapped, [benecaster_subscribe] shows each tier with the price Restrict Content Pro charges for it and a Subscribe button (Join free on a free tier). The button goes to your RCP Registration page with the level added (?level={id}).
Check those pages under Show Settings → Subscription → Signup pages, and replace any that are wrong — see Signup Pages. Only pages on this site can be used.
Step 3: Sync Your Existing Members
If RCP already had members before you connected it, they don’t have feed links yet: Benecaster only hears about a member when RCP reports their membership starting. After mapping your levels, go to Benecaster → Shows → [your show] → Settings → Subscription → Sync existing members and click Sync existing members to give every member with access on a mapped level their link. That includes a member whose membership is Cancelled but whose expiration date is still ahead, since RCP keeps their access until then; a cancelled membership past its expiration date is skipped and not listed in the results. See Sync Existing Members for what it does and the email choice.
Step 4: Test the Connection
Add a test member manually — go to Restrict → Memberships → Add New, choose a subscription level, and save with Active status.
A Benecaster token should be generated within a few seconds. Verify at Benecaster → Subscribers.
Where Members Find Their Feed Link
Besides the Welcome email, members see a Podcast Subscriptions section at the bottom of the page that holds RCP’s [subscription_details] shortcode (RCP’s account or “Your Membership” page), below its Invoices table. It has their feed link, podcast app buttons and QR code. The full account page is also available through [benecaster_account]; see The Subscriber Account Page.
How RCP Events Map to Benecaster
| RCP event | Benecaster action |
|---|---|
| Subscription activated (new or resubscribed) | Generate token, send welcome email |
| Cancelled, with time left before the expiration date | Feed continues until the expiration date, as RCP keeps the membership working |
| Cancelled with no time left | Mark token inactive straight away |
| Expired (RCP’s daily check) | Mark token inactive. Recorded as a cancellation if the member had cancelled |
| Membership level changed (member upgrade or downgrade at checkout, or an admin level change under Restrict → Memberships) | Move the subscriber to the new tier on the same feed URL; the feed link is never revoked. Subscriber history records an upgrade or downgrade, and webhooks send subscription.tier_moved |
| Subscription renewed | Fire benecaster_subscription_renewed; feed access continues uninterrupted |
| Payment failed | No immediate action — RCP has no universal payment-failure hook. Feed access continues until RCP expires or cancels the membership through its own retry logic. |
Benecaster listens for RCP’s status transition callbacks to keep subscriber access in sync.
RCP-Specific Notes
“Membership plugin needs attention”: Benecaster checks the plugin each show uses at most once an hour in wp-admin, and on the first admin page after a Benecaster update. If RCP is deactivated, older than 3.4, or missing a function, class or method Benecaster calls, a Membership plugin needs attention notice appears under Notifications (the bell), naming the show and what is wrong, with a Go to Updates button. The show keeps working; the notice clears itself once the problem is fixed. See Membership Plugin Not Connecting.
Manual vs payment-driven activations: RCP allows admins to manually activate memberships without a payment. Benecaster treats manual activations identically to payment-driven ones — a token is generated and the welcome email is sent regardless of how the membership was activated.
Free memberships: RCP supports free (zero-cost) subscription levels. If you have a free level that grants basic podcast access, you can map it to a Benecaster tier. Subscribers at that level get a token and feed access like any paying subscriber.
Expiring vs non-expiring memberships: RCP supports both time-limited memberships (with expiration dates) and non-expiring memberships. For non-expiring memberships, Benecaster keeps the token active indefinitely. A non-expiring (lifetime) membership stays active after a cancellation too, just as it does in RCP itself, until its RCP status changes to something without access.
Plan changes: RCP changes a member’s level by creating a new membership and disabling the old one, and on a paid recurring membership it cancels the old one first. Benecaster recognises that pair as one plan change, so the subscriber is never cut off part-way through. Deleting a membership, a member cancelling, and an expiry still end access.
Multiple levels: RCP can assign multiple subscription levels to a single user. Benecaster maps each active level and grants access at the highest applicable tier.
Payment failure handling: RCP does not provide a universal payment-failure hook that fires consistently across all gateways. When a payment fails, Benecaster takes no immediate action — the subscriber’s feed continues until RCP expires or cancels the membership through its own retry and grace-period logic. This means there may be a delay between a failed payment and feed access being revoked. The delay is determined by RCP’s membership expiry settings, not Benecaster.
Subscription renewals: Benecaster detects renewals via RCP’s rcp_membership_post_renew hook. When a renewal fires, Benecaster’s benecaster_subscription_renewed action fires and feed access continues without interruption.
Payment gateways: RCP supports Stripe, PayPal, and other gateways. Benecaster is agnostic about which gateway RCP uses — it reads membership status only, not payment records.
Content Drip module: Restrict Content Pro includes a built-in Content Drip module that releases content to members gradually over time — for example, unlocking a post seven days after a member’s subscription start date. This applies to RCP’s own WordPress content restrictions only. It has no effect on Benecaster’s RSS feeds. Benecaster reads membership level and active status only — Drip timing does not affect feed access. If you want to release podcast episodes on a schedule, use Benecaster’s availability dates instead.
RCP ownership: Restrict Content Pro is maintained by the Sandhills Development team (also creators of Easy Digital Downloads). If you encounter issues after an RCP update, check the Benecaster changelog for compatibility notes.
Multiple billing periods and price points: RCP subscription levels each have a single price and billing period. To offer subscribers a choice of billing frequency for the same access level, create a separate RCP level for each option — then map both levels to the same Benecaster tier.
- Monthly and annual billing for the same tier — create two RCP subscription levels (for example, “Premium — Monthly” and “Premium — Annual”). In Benecaster → Shows → [your show] → Settings → Subscription → Tier Mapping, map both levels to the same Benecaster tier. A subscriber who purchases either option gets the same feed access — Benecaster checks all of a user’s active levels against the tier map.
- Regional or currency pricing — if you use a multi-currency extension that creates separate RCP levels per currency or region, map all variants to the same Benecaster tier using the same approach.
- Different access levels at different price points — create separate RCP subscription levels for each access level and map each to a distinct Benecaster tier.
See Also
Need this built rather than just documented? See our services →