[benecaster_listener_support]
Renders a Listener Support prompt: a Stripe donation form or button, or in link mode a link to your external donation page. No Benecaster account or license is required — available on the WordPress.org version and on all licensed plans. Any podcaster at any plan level can accept one-time listener donations. Per-show settings (suggested amounts, custom amount toggle, thank-you message, donor name and message collection) are configured in the Show Editor under the Listener Support section.
Which settings it uses. On a show page or an episode page, that show’s Listener Support settings and Stripe setup. On every other page, unless you set show_id, the site-wide settings and the site-level Stripe setup — even on a single-show site, so donations from your homepage never move to a show’s own Stripe account without you choosing it.
Stripe mode or link mode. With no style attribute, the shortcode follows the show: if Stripe is set up for it, it renders the show’s default Stripe style; otherwise it renders the show’s link-mode prompt, which sends visitors to your external donation page. A style attribute picks the mode explicitly: form, button and icon are Stripe styles; inline, floating and after-player are link-mode styles.
When you ask for a Stripe style and no Stripe keys are configured for the resolved show, the shortcode renders nothing for visitors and non-administrators. For logged-in administrators, it renders an inline notice prompting them to configure Stripe keys in Show → Settings → Payments — so the issue is visible to the person who can fix it, without surfacing anything to visitors.
Three display styles are available. form embeds a Stripe Payment Element directly on the page. button and icon each open a donation modal (Stripe Payment Element inside a WordPress dialog overlay) — button shows a styled CTA button, icon shows an SVG icon with a caption below. Output filterable via benecaster_listener_support_output.
Already using Buy Me a Coffee, Ko-fi, or something similar? Keep it. This shortcode is one option, not a requirement, and nothing in Benecaster objects to a third-party donation button living on the same page — or to you never placing this one at all. The practical difference is where the money lands and who takes a cut: donations here go straight to your own Stripe account, and Benecaster takes no fee on them.
The Blocks & Widgets Library add-on wraps this shortcode as a Gutenberg block and Elementor widget with a style-picker in the block or widget settings sidebar.
Parameters
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
show_id |
int |
— | No | ID of the show to collect donations for. On a show page or an episode page it resolves to that show. On any other page — a sidebar widget, the homepage, a custom landing page — the shortcode uses your site-wide donation settings and site-level Stripe setup, even on a single-show site. Set show_id there to take donations for a particular show instead. |
style |
string |
(the show's own)
|
No | Display style. Stripe styles: form (inline Stripe Payment Element), button (styled button opens modal), icon (SVG icon with caption opens modal). Link-mode styles: inline, floating, after-player, which link to your external donation page. Omit to use the show's default: its Stripe style when Stripe is set up, otherwise its link-mode style. |
label |
string |
Support the show
|
No | Button label or icon caption for the Stripe button and icon styles; ignored for form. Link-mode styles ignore it and use the Button label from the show's Listener Support settings, so the text is set in one place. |
icon |
string |
heart
|
No | Icon variant for the Stripe icon style. Options: heart, star, mic, or a URL to a custom SVG. Ignored by every other style. |
Example
<!-- Inline donation form -->
[benecaster_listener_support show_id="3"]
<!-- Support button in a sidebar widget -->
[benecaster_listener_support show_id="3" style="button" label="Buy me a coffee"]
<!-- Icon style with custom SVG -->
[benecaster_listener_support show_id="3" style="icon" icon="https://example.com/tip-jar.svg" label="Leave a tip"]