Skip to main content

The Subscriber Account Page

The subscriber account page is a front-end WordPress page where subscribers can see and copy their private feed URL, add it to a podcast app, reset their feed link if it has leaked, and download their data. Benecaster creates a /podcast-account/ page automatically on activation — the shortcode is already placed. You can use any page you like.


Setting up the Account Page

Benecaster creates a /podcast-account/ page with [benecaster_account] on first activation. The page ID is stored in the benecaster_account_page_id option. If you prefer a different URL, create a page at the path you want and add the shortcode — both pages will work, but link your members to the one you intend.

Creating a second page doesn’t move where Benecaster sends people. Links in its emails and the redirect after a confirmed signup follow the benecaster_account_page_id option, or the benecaster_account_page_url filter if a developer has set one.

The page is only useful when a logged-in subscriber views it. Logged-out visitors see a login prompt. You do not need to restrict the page itself — Benecaster handles the authentication check.

Showing Account Info for One Show

[benecaster_account show_id="3"]

Without show_id, the shortcode shows subscriptions across all shows the current user has access to.

Finding your show ID: every show displays a #3-style chip you can click to copy — in the header when you open a show, on every sub-tab, and on each card in Benecaster → Shows including archived ones.

Showing Specific Sections Only

[benecaster_account show_id="3" sections="feed_url,app_links"]

Available sections, in the order they appear: profile, avatar, subscription, billing_portal, tier_switch (Your Plan), cadence_switch (Billing period), free_switch (Free Plan), buyups (Extras), feed_url, token_reset, app_links, qr_code, email_preferences, erasure_request (Erase my data). Default is all. billing_portal, tier_switch, cadence_switch and free_switch appear only for built-in membership subscribers. An explicit list shows only what it names, so include tier_switch if you want subscribers to be able to change plan, and free_switch if you want them to be able to move to or from your free plan. Token reset is a discrete section — you can include or exclude it independently of the feed URL section.


What Subscribers See

When a subscriber visits the account page while logged in, each show they’re subscribed to appears as a card.

Profile Section

At the very top of the page, above the profile picture and every subscription card, a PROFILE section lets a subscriber manage their own account — First Name, Last Name, Display Name, Email Address, and a Change Password block — without ever needing wp-admin.

Changing an email address is not immediate. Submitting a new address does not update it right away. A single-use link, valid for 24 hours, is emailed to the new address, and the account keeps the old address until that link is used — a mistyped address can never lock anyone out. After submitting, the Email Address field reverts to the address still on file; the new address appears only in a “waiting for confirmation” line below it until the link is confirmed. Depending on what happens when the link is opened, the subscriber lands back on this page with one of: confirmed, already used, not valid or expired, or already in use by another account.

Changing the email address needs the current password, just as changing the password does. As soon as the subscriber edits Email Address, a Current password field appears under it, with the hint “To change your email address, enter the password you use to log in.” Saving without it shows “Enter your current password to change your email address.”, and with the wrong one “That is not your current password.” Either way nothing is saved, the name fields included. Changing only the names, or only the capitalisation of the address, needs no password.

The Current Password fields don’t appear for everyone. Followers who signed up by email, subscribers a podcaster added manually or through bulk enrollment, and subscribers created through a donation have never chosen a password — there’s nothing for them to confirm, so they can change their email address without one and are simply asked to pick a password. Everyone else must enter their current password before a new email address or a new password is saved.

The New Password field shows a Weak / Fair / Strong indicator. It’s guidance only — it doesn’t block anything — but a twelve-character minimum is enforced when saving.

Subscription Section

The subscription card shows the show name, a tier name or Follower, and a join date. The tier named is the highest tier the member holds right now according to their membership plugin (or built-in membership), which is the tier that decides what they can see. A member holding two levels sees the higher one named, and after a Tier Mapping change the card names the newly mapped tier. If the membership plugin reports no level for them, the card names the tier saved on their subscription. A free follower’s card reads Follower where a paying subscriber’s tier name goes — followers hold a feed token but no tier — and the card carries is-follower (a paying subscriber’s carries is-subscriber), so a theme can style the two differently.

Upcoming price change. When a built-in-membership tier or buy-up the subscriber holds has a price change pending, the card gains an “Upcoming price change” box: one line per change they were told about, in the form {item}: {new price} (currently {old price}), from your renewal on {date}. A line stays until that renewal actually charges the new price, then it drops off the card. This box does not appear for subscribers on external bridges — a bridge-managed price change is between the subscriber and that plugin.

Billing Section

For built-in membership subscribers, a Billing section holds Payment method, Subscription (status, billing interval, when the current period ends, and Cancel subscription or Resume subscription) and Billing history. See Subscriber Billing Portal for how each works.

Status, billing interval and each invoice’s status are shown in words, in the site’s language: Active, Trial, Payment overdue, Unpaid, Awaiting first payment, Paused or Cancelled; Monthly, Yearly, Weekly, Daily or Free; and invoices Paid, Due, Draft, Void or Uncollectible.

Billing address. On a show that collects sales tax through Stripe Tax, the section also has a Billing address part, between Payment method and Subscription, where the subscriber gives Stripe the address it uses to work out their tax. The address goes to Stripe, never your site. It also shows, with a notice, for a subscriber whose renewals Stripe has stopped taxing because it couldn’t place their address; that subscriber is sent the Billing Address Needed for Tax email, which links here. See Update Billing Address for the form, its messages and what happens when the address is fixed.

For developers. Section slug billing_portal, template account/billing-portal.php. A theme override of that template made before the Billing address part existed has no address form, so a subscriber Stripe can’t place has nowhere to fix it. Refresh the override from the current built-in template. See Template Overrides.

Your Plan Section

For built-in membership subscribers, a Your Plan section lets a subscriber move to another of your tiers themselves. It sits above Billing period and opens with what they’re on now, for example “You are on Gold — USD 9.00.”, then lists your other tiers by name, each with its price, when the move would start, and a Switch to {tier} button.

  • An upgrade starts today. A tier priced higher than what they pay now reads “Starts today. You pay the difference for the rest of this billing period now — the exact amount is shown before you confirm.” Clicking it checks the price with Stripe, then asks “Move to Platinum now? You will be charged USD 4.12 today for the rest of this billing period, then USD 12.00 from 1 October.” On a show that collects tax, the amount charged today includes tax; if Stripe cannot work the tax out at that moment, the question says “…You will be charged USD 4.12 plus any tax today…” instead. During a free trial the question says nothing is charged today instead. Their renewal date and feed URL don’t change.
  • Access moves only once the payment goes through. If their bank asks them to verify it (3D Secure), the page opens the bank’s check. A failed check or a declined card leaves them on their current tier with nothing charged.
  • Every other move starts at their next renewal: “Starts 1 October, at your next renewal. Nothing is charged today.” That covers a move down or to a tier at the same price. They keep what they’ve paid for until then.
  • A tier is listed only if it sells the billing period they’re already on, in the same currency. If your tiers sell different billing periods, a subscriber may see no other tiers at all.
  • Your free tier isn’t in this list. Moving to it, or up from it, has its own section below: see Free Plan Section.
  • Buy-ups. A paid buy-up the new tier doesn’t offer doesn’t stop the move: it ends at the end of the current billing period, isn’t charged again and isn’t refunded, and the option names it first: “Not included on this plan, so it ends at the end of your current billing period and you are not charged for it again: Transcripts.” A free one is dropped and named (“You will lose, at no cost to you: Transcripts. It is not included on this plan.”). Buy-ups the new tier includes free appear under “Included free on this plan:” as ticked checkboxes they can untick.

Once a move down is scheduled, the section shows “Moving to Silver on 1 October. Nothing is charged until then, and nothing about your plan changes before that date.” with a Cancel this change button. The subscriber also gets a Plan Change Scheduled email; the Tier Change email follows when the move actually happens. An upgrade sends no Plan Change Scheduled email — it lands at once, so the Tier Change email and Stripe’s receipt are its confirmation.

An upgrade waiting on the bank. If a subscriber leaves the bank’s check unfinished, the section shows “Upgrading to Platinum — waiting for your bank to confirm the payment. Nothing has changed yet.” with a Cancel this change button, which withdraws the upgrade without charging them.

One change at a time. A subscriber can have one pending change: a plan move, a billing-period switch or a move to your free plan, never two at once. Only the section that owns the pending change shows it and its Cancel this change button. For a plan move or billing-period switch, the other section says a change is scheduled and points at it: “You have a plan change scheduled. You can change your billing period once it takes effect, or cancel it above.” While a move to the free plan is pending, Your Plan and Billing period show “You already have a billing change scheduled. Cancel it first to choose a different one.”

For developers. Section slug tier_switch, template account/tier-switch.php, wrapped by benecaster_before_account_tier_switch / benecaster_after_account_tier_switch. A theme that overrides account/dashboard.php shows no plan section until the override is refreshed. A theme that overrides account/cadence-switch.php can show a second Cancel this change button for a pending plan move; if a customer reports two, that’s the cause. An older override of account/tier-switch.php itself prints “Nothing is charged today” under an upgrade that is charged today, and leaves out the ending-buy-up line — the confirmation still quotes the right amount, so billing is correct, but refresh the override. See Template Overrides.

Billing Period Section

For built-in membership subscribers, a Billing period section sits between Your Plan and Free Plan. It shows what the subscriber pays now, and — when their tier sells more than one cadence — each other billing period the tier offers, with its price and the date switching to it would start: “Starts {date}, at your next renewal. Nothing is charged today.” A Switch to {period} button on an available option schedules the change. See Subscription Billing Cadence for the full subscriber-facing flow and who cannot switch.

Once a switch is scheduled, the section shows only the pending change — “Switching to {period} on {date}. Nothing is charged until then.” — with a Cancel this change button, rather than the option list.

When the subscriber holds buy-ups, each option also covers them. Buy-ups move with the subscriber, so an option can carry up to three more lines, each naming the buy-ups rather than counting them:

  • “Your extra moves with you — USD 102.00 in total.” The total is plan plus buy-ups from the switch date, and it is what the subscriber confirms.
  • “Included free on this billing period:” followed by a ticked checkbox for each buy-up they’ll be given when the switch lands. Unticking one declines it, and the decline is remembered.
  • “You will lose, at no cost to you: Transcripts. It is not included on this billing period.” This is a free buy-up the new period doesn’t sell. Neither this line nor the one above affects the price they confirm, because neither costs anything.

If the subscriber cannot switch right now, the section shows one reason in place of the option list: payment failed, billing paused, membership set to cancel, or a switch already pending. An individual option can also show separately as unavailable, greyed out with no button, when the subscriber pays for a buy-up that the period doesn’t sell, naming it: “You pay for Transcripts, which is not sold on this billing period. Remove it first, or stay on your current period.” See Subscription Billing Cadence for the full rules.

The section shows nothing at all — not even its heading — for a tier that has only ever sold one cadence, or a subscription with no Stripe billing behind it.

For developers — theme overrides of account/cadence-switch.php. Section slug cadence_switch for [benecaster_account sections="…"]. A dashboard.php override made before this feature shipped shows no Billing period section at all until the block is copied in from the current built-in template — the same staleness this page already notes for the Extras section below.

A stale copy of account/cadence-switch.php itself is worse than a missing section, in two ways. First, it doesn’t send the buy-up total, so a subscriber who holds a paid buy-up can’t switch at all. The request is refused with 400 confirm_amount_required, and nothing on screen explains why. Second, it shows neither the included nor the lost buy-up lines, so a subscriber can lose a free buy-up at renewal without having been told, and can’t decline one they’re about to be given. Refresh the override from the current built-in template.

Free Plan Section

If your show has a free tier, built-in membership subscribers see a Free Plan section after Billing period. It works in both directions, and moving down is never treated as a cancellation. A show with no free tier shows nothing here.

Moving down to your free plan. A paying subscriber is offered your free plan instead of cancelling, with a Move to {plan} button. Before they confirm, the section tells them when the move happens, that they stay a member with the same feed address, and that “Any extras you pay for end on that date too — they are part of the plan you are leaving.”

  • They keep everything their paid plan includes until the end of the period they’ve already paid for, and they aren’t charged again.
  • From that date they’re a member on your free plan: same account, same feed URL, nothing to re-add in their podcast app. Their feed carries the episodes your free plan includes.
  • Buy-ups they pay for end on the same date, because a buy-up is part of the paid subscription.
  • They get a Move to Free Plan Scheduled email confirming the date. When the move takes effect, the Tier Change email follows if you have it switched on. No cancellation email is sent, because nobody cancelled.
  • Until the move lands, the section shows it and its date with a Cancel this change button. Cancelling it leaves their paid plan and billing exactly as they were.
  • The Billing section doesn’t offer Cancel or Resume while the move is pending. It reads “You are moving to the free plan at the end of this billing period. To stay on your paid plan, cancel that change in the Free Plan section below.” A subscriber who wants to call the move off is sent to the one place that can.

The move is offered only when nothing else is in the way: no other change pending, billing not paused, the last payment went through, and the membership not already set to cancel. A subscriber who has already cancelled resumes their subscription first, then moves.

If you delete your free tier, deactivate it or add prices to it before a pending move lands, there’s no free plan left to move to, and the membership ends at the renewal like any cancellation.

Moving up from your free plan. A member on your free plan sees “You are on the free plan. You can take out a paid plan at any time — it starts straight away and is charged today.” and a See the paid plans link. The link goes to the show’s page, where [benecaster_subscribe] normally lives. They choose a plan and pay on the signup form exactly as a new subscriber would, including card authentication and any free buy-ups the plan comes with. The paid plan starts at once, and their feed URL stays the same.

Complimentary memberships. A member you added with a complimentary membership can’t change plan themselves, and the Free Plan section doesn’t offer them the paid-plans link. Change their plan for them.

What you see in Stripe. While a move to your free plan is pending, the Stripe dashboard shows the subscription as set to cancel at the end of the period. That’s how the move works at Stripe’s level, since a free plan has no price to switch to. The subscriber isn’t leaving, and after the renewal they’re still on your subscriber list, on your free tier.

For developers. Section slug free_switch, template account/free-tier-switch.php, wrapped by benecaster_before_account_free_switch / benecaster_after_account_free_switch. The upgrade link’s destination is filterable with benecaster_signup_url. A theme that overrides account/dashboard.php shows no Free Plan section until the override is refreshed. See Template Overrides.

Extras Section

When the show has at least one active buy-up and the subscriber is on an eligible tier, an Extras section lists them. Extras is the name subscribers see for buy-ups. Each shows the price for the subscriber’s own billing period, with the period beside it ($5.00/mo, $49.00/yr), and an Add to my plan button. A buy-up the subscriber already holds shows Active instead. See Buy-ups — Self-Service for Subscribers for the full subscriber-facing flow.

A buy-up the subscriber can’t add right now shows Not available on your plan with the reason in place of the button, rather than letting them click through to an error. The usual reasons are that it isn’t sold on their billing period, that its sale hasn’t opened or has closed, or that they have a billing-period switch pending. See Buy-ups — Self-Service for the full list.

For developers — theme overrides of account/buyups.php. An override keeps the heading and wording it was copied with, so an older one still says Add-ons. Refresh any override made before per-period pricing from the current built-in template. A stale copy shows every subscriber the buy-up’s default price whatever their billing period. Every purchase through it also fails with 409 amount_mismatch, because the button’s amount no longer matches the price for the subscriber’s own period, and nothing server-side points at the template as the cause. See Template Overrides for the row shape.

Feed URL Section

The subscriber’s private feed URL is shown in full as soon as the page loads, with a working Copy button. There is nothing to reveal and no reset needed. The hint under it reads “This link is yours alone. Anyone you give it to can listen to everything you can, so keep it to yourself.” The URL has the same shape as the one they were emailed: the standard …/podcast-feed/?token=… form, or …/podcast/{feed-slug}/feed/…/ if the podcaster has turned on Use pretty feed URLs (Settings → Permalinks).

Some subscribers see a shortened URL instead. Benecaster can’t recover the URL when:

  • the subscriber’s link was created before Benecaster started keeping a recoverable copy of each link
  • the site’s encryption key has changed since their link was created
  • the server’s PHP has no libsodium

Those subscribers see only the first few characters, with Copy disabled and the note “Only the first few characters of your link are shown here, and the rest cannot be recovered on this site. Resetting will give you a new link you can copy — but it replaces the one you have.” The app buttons stay disabled and the QR box stays empty until they reset. After a reset, their new link is shown in full like everyone else’s.

Two subscribers on the same show can therefore see different things. That’s expected, not a fault.

Direct links to open the feed in these apps, ready as soon as the page loads (after a reset, for a subscriber whose URL can’t be recovered):

  • Apple Podcasts (podcast:// deep link)
  • Overcast (overcast://x-callback-url/add?url= deep link)
  • Pocket Casts (pktc://subscribe/ deep link)
  • Castro (castro://subscribe/ deep link)
  • Podcast Addict (podcastaddict://subscribe?url= deep link — the feed URL is percent-encoded, so ?token= becomes %3Ftoken%3D)
  • Spotify (shown only when the show has a Spotify entry configured in show settings — links to the show’s public Spotify page, not the private feed)

QR Code Section

A QR code for the subscriber’s private feed URL, drawn when the page loads, with SVG and PNG download buttons. The code works exactly like the URL, so a screenshot of it gives access too. For a subscriber whose URL can’t be recovered, the box stays empty until they reset.

See QR Codes for print dimensions and use cases.

Email Preferences Section

Below the QR code, each show card has an Email preferences section where the subscriber chooses what email they get from that podcast. One checkbox per topic, ticked when they receive it:

  • Announcements and updates — News and messages from the podcaster.
  • New episodes — A note when a new episode comes out.

A line underneath says receipts, renewal reminders, payment problems and feed link resets are sent whichever of these they choose.

A separate Stop all emails from this podcast checkbox greys out the topics and shows a warning: “Heads up: this also stops receipts, renewal reminders, payment problems and feed link resets. Your feed link stays on this page, and you can come back here to turn emails on again at any time.” Save email preferences saves the choices without leaving the page.

The section is always shown, including to a subscriber who opted out from an email’s unsubscribe link, so it is also where they turn email back on. Only the subscriber can change these: there is no way to change them from wp-admin. See Unsubscribe Handling.

Token Reset Section

A Reset my feed link button, for a link that has been shared or exposed. It is not needed to see or copy the URL. Pressing it shows a warning that the old link stops working straight away, and that the subscriber will have to remove the podcast from their app and add it again, losing their place in every episode and any downloaded episodes. They confirm with Confirm reset — the old link stops working and your app loses your place, and the new URL appears on the page at once. No email is sent. See Resetting a Subscriber’s Feed URL.

For developers — theme overrides. An override of account/feed-url.php, account/qr-code.php or account/app-links.php made before recoverable URLs shipped shows every subscriber the shortened URL and disabled buttons. An old account/token-reset.php keeps the softer reset warning. Refresh them from the current built-in templates. See Template Overrides.

When a Show’s Feed Has Gone Dark

The Feed URL, QR Code, and Token Reset sections all check whether the show’s private feed is currently serving — most commonly because the podcaster’s license has lapsed — and change what they show instead of offering a URL that would 403.

  • Feed URL section: reads “This feed is not currently active, so there is no URL to copy. Your subscription details are unchanged, and your feed will start working again once the podcaster restores it.” No URL, shortened or full.
  • QR Code section: reads “This feed is not currently active, so there is no QR code to generate. It will be available again once the podcaster restores the feed.”
  • Token Reset section: the reset button does not render at all. A reset mints a new token and invalidates the subscriber’s existing podcast-app setup, and the URL it would produce fails exactly as the current one does — so the button would cost them their app setup for nothing.

This reports state; it does not gate anything else. The subscription card, tier name, and join date are unchanged and keep showing normally — this is not a third tier of degraded access, just the page telling the truth about a feed that has stopped serving.

Followers are deliberately unaffected. A follower’s feed carries the public episodes and keeps working when a show goes dark, so a follower never sees any of the states above, regardless of the show’s license.

On a site with no license connected at all, nothing here changes. There is no private feed to go dark in the first place — followers are the only feed-token holders on an unlicensed install, and their feed is unaffected as above.


Passwords Are Optional

A follower can use the account page without ever setting a password, and the page is written to read that way rather than treating a password as the normal route in.

Someone who follows your show arrives here by clicking the link in their welcome email. They are signed in when they land — they have never chosen a password, and nothing asks them to. The page carries a Set a Password section with the plain version of that:

You can use this site without a password — the link we email you is enough to get back in. Set one if you would rather sign in the usual way.

Paying subscribers are different. They choose a password at checkout, so they already have one and can sign in either way.

An administrator or editor account is never signed in by an emailed link — those go to the WordPress password-reset screen instead. It is a deliberate protection for accounts that can edit the site. If you are testing with your own admin address, that is what you will see.


Redirected From wp-admin?

A logged-in user who is not a podcaster or team member — technically, anyone without the edit_posts capability — is redirected away from /wp-admin/ to this account page instead of the WordPress dashboard. Podcast subscribers have no reason to see the WordPress admin screens.

Two things worth knowing, since both get reported as bugs:

  • The redirect is based on WordPress permissions, not on any Benecaster relationship. If Benecaster shares a site with a shop or a forum, customers and members without editing access are redirected here too — not just podcast subscribers. A developer can exempt specific people with the benecaster_block_subscriber_wpadmin filter; it’s the only way to turn this off, in whole or in part.
  • Nothing happening behind the scenes is affected. A logged-out visit still goes through WordPress’s own login page, and AJAX requests, scheduled (cron) tasks, and front-end form submissions through admin-post.php are never redirected — so no other plugin or theme feature breaks.

Podcasters and anyone on their team with at least Contributor-level access reach wp-admin exactly as before.


Finding the Account Page from Your Membership Plugin

Subscribers don’t need to bookmark the account page URL — Benecaster adds links to it in common membership plugin account areas:

Plugin Where the link appears
WooCommerce A “Podcast Subscriptions” tab in My Account
Paid Memberships Pro A “Manage Podcast Subscriptions” link in the account page
MemberPress A section added via mepr_account_home_after
Restrict Content Pro A “Podcast Subscriptions” section at the bottom of the page with RCP’s [subscription_details] shortcode, below its Invoices table

WooCommerce: The “Podcast Subscriptions” tab requires a WordPress permalink flush after Benecaster activation. If the tab doesn’t appear, go to Settings → Permalinks and click Save — no changes needed, just a flush.


Downloading Subscriber Data

A Download my data button appears at the bottom of the account dashboard. Clicking it triggers an immediate download of benecaster-my-data.json containing:

  • Account details (email, display name, registration date)
  • All token records across all shows (token prefix only — the hash is never returned)
  • Migration patron records (if migration tables exist for this account)
  • Download history entries (if the download proxy is enabled — IP hashes are excluded)

The file downloads instantly from the browser. Nothing is stored server-side.


Avatars, Badges, and Supporter Wall

Built-in membership subscribers see additional sections in the account dashboard.

Profile picture — Subscribers can upload a profile photo that appears in the admin subscriber list and, when opted in, on the Supporter Wall. The upload form includes a disclosure when the Supporter Wall is active: “Your avatar will be visible on the Supporter Wall.” Subscribers can remove their avatar at any time.

Badges — Badge chips appear below the profile picture:

  • Tier badges — chips assigned automatically based on the subscriber’s tier, or manually by the creator
  • Tenure badge — when the site-wide tenure badge is enabled, a chip showing how long the subscriber has been a member appears here; labels advance automatically (e.g. “6-Month Member”, “1-Year Member”). See Subscriber Tenure Badges.

Supporter Wall opt-in — When at least one of the subscriber’s active shows has the Supporter Wall enabled, a “Show me on the Supporter Wall” checkbox appears inside the Profile picture / Badges block. Checking it makes the subscriber visible on the wall; unchecking removes them immediately — no cache flush required. Status messages appear while saving:

  • “Saving…” — request in flight
  • “Saved” — on success
  • “Could not update your preference. Please try again.” — on failure; the checkbox reverts to its prior state

Wall name — Below the Supporter Wall opt-in, a “Your wall name” field lets subscribers set the name displayed on the Supporter Wall and in [benecaster_member_thanks] output. The field only appears when the show has Supporter Wall enabled. The wall name is kept separate from the subscriber’s WordPress account name — changing it here changes nothing about their account. If they leave it blank, Benecaster shows their first and last name instead, and falls back to their WordPress display name if those are empty too.

When the field and prompt appear by default: when the Supporter Wall is on for any show, when a published post or page uses [benecaster_member_thanks], or when Episode Workbench is switched on for any connected show.

First-run wall name prompt: On a subscriber’s first account page visit when their show has Supporter Wall enabled, a one-time overlay prompts them to set a wall name before the rest of the dashboard loads. They can save and continue, or skip — the overlay appears only once. The wall name field remains available for them to fill in later.

Developer controls: benecaster_show_account_wall_name_field (filter, boolean) controls whether the wall name field renders; benecaster_show_wall_name_prompt (filter, boolean) controls whether the first-run overlay fires. These replace the deprecated benecaster_show_account_display_name_field and benecaster_show_display_name_prompt filters. Two free actions, benecaster_before_account_wall_name and benecaster_after_account_wall_name (both ( int $user_id )), fire immediately before and after the wall name field renders.

Membership Tenure Shortcode

To show a subscriber’s membership tenure outside the badge chip — in emails, a custom profile card, or a member-only page — use the [benecaster_member_since] shortcode:

[benecaster_member_since]
[benecaster_member_since format="short"]
[benecaster_member_since format="raw"]
Format Example output
long (default) Member since June 2024
short 1-Year Member
raw 2024-06-01

A follower reads “Following since June 2024” in the long format, instead of “Member since” — they follow the show, they are not a member of it. This only applies when a show is in context (an explicit show_id, or the sole show on a single-show install); with no show in context the snapshot comes from whichever token is oldest, and since one person can follow one show while paying for another, that case keeps “Member since.” short and raw are unchanged for a follower.

The shortcode is gated by the site-wide tenure badge toggle and outputs nothing when the feature is disabled. See Subscriber Tenure Badges for the full attribute reference, including user_id and show_id parameters.


Promote to Bridge — Grace Period Banner

Subscribers who have been migrated via the Promote to Bridge wizard and are within their grace period see an amber banner under that show’s name on their account page:

Your subscription is being transferred
Re-enter your payment details in [target plugin name] before [date] to keep podcast access.
Re-enter payment details

Re-enter payment details links to the new membership plugin’s signup page for the subscriber’s level, the same page the grace reminder email’s button opens. That is the page confirmed under Show Settings → Subscription → Signup pages, or else the one Benecaster suggests from the plugin’s own settings. When no signup page can be found for the level, the banner shows no link and the rest of it reads the same. See Promote to Bridge — Grace Period.

For developers. The link’s address is $sub['promote_signup_url'] in account/subscription.php ('' when none resolves). A theme copy of that template made before the link existed shows no link until it is refreshed from the built-in file.

The banner appears automatically based on the promote_grace_period_ends_at value in the subscriber’s record. It disappears once the grace period ends and the token is revoked. Subscribers whose grace period has been manually cleared by an admin also stop seeing the banner.


Free Followers

Free followers — listeners who signed up via [benecaster_follower_signup] — appear on the account page in the same way as paying subscribers. They see their own tokenized feed URL, can add it to a podcast app, reset their feed link, and unsubscribe from emails. That feed carries your public feed’s episodes; the token is what makes it theirs, not what unlocks extra content. The only functional difference from a paying subscriber’s view is the absence of a billing or membership section — followers have no bridge membership and no payment history to display.

A follower’s card says “Follower.” Where the subscription card reads the tier name for a paying subscriber, it reads Follower for a follower. If “Member since” appears for a show that’s in context, a follower reads “Following since” instead: see Membership Tenure Shortcode below. This is a label only — nothing about what a follower can do on the page changes.

Caching Warning

The account page contains each subscriber’s working feed URL and must never be cached. A cached copy could show one subscriber’s feed URL to another visitor. Configure your caching plugin to exclude the account page URL.

See Caching Plugin Configuration for instructions.

See Also

Need this built rather than just documented? See our services →