[benecaster_listener_support]
Renders a Listener Support donation UI powered by Stripe. 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.
When 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 → Listener Support — 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.
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 or episode page, resolves automatically. On any standalone page — a sidebar widget, a custom landing page, or anywhere outside a show context — required; renders nothing if the show cannot be determined. |
style |
string |
form
|
No | Display style. Options: form (inline Stripe Payment Element), button (styled button opens modal), icon (SVG icon with caption opens modal). |
label |
string |
Support the show
|
No | Button label or icon caption. Used by button and icon styles; ignored for form. |
icon |
string |
heart
|
No | Icon variant for style=icon. Options: heart, star, mic, or a URL to a custom SVG. |
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"]