[benecaster_donor_wall]
Renders a paginated, public thank-you wall of Listener Support donations for a show. Displays donor name, donation amount, date, and (in long format) the donor’s optional note. Donor email addresses and internal user IDs are never rendered.
show_id is optional: a show page or episode page supplies its own show, and anywhere else a single-show install uses its only show. On a multi-show install, on a page that is neither, it renders an HTML comment and short-circuits.
Pagination: When paged="true", the shortcode reads ?donor_page=N from the URL and renders a Previous / “Page N of M” / Next strip below the list using .benecaster-donor-wall__pagination BEM classes. Multiple shortcodes on one page share the same query var by default — use a custom query var or separate page requests to disambiguate multi-show placements.
Amount display: Amounts are formatted via number_format_i18n as CURRENCY N,NNN.NN. Zero-decimal currencies (JPY, KRW, etc.) render without decimal places. Amount is omitted entirely when the donation row carries no currency code.
Orderby whitelist: Unknown orderby values silently fall through to date_desc rather than erroring. Only date_desc, date_asc, amount_desc, and random are meaningful.
Developer filters: Three PHP filters let you customize per-card markup, query arguments, and the empty state — benecaster_donor_wall_item, benecaster_donor_wall_query_args, and benecaster_donor_wall_empty_message. See the individual filter pages for signatures and examples.
Card markup is a documented public API surface. The .benecaster-donor-wall__* class names (item, header, name, amount, date, note), the empty-state markup, and the pagination strip’s classes are a committed contract — a future release will not rename or restructure them without a deprecation notice, the same as a hook signature. Full markup reference: Donor Wall.
The show must be published. For a draft, scheduled, private or trashed show, or a show_id that is not a show, the wall renders nothing, not even the No donations yet message. Donations still work for a draft show; its wall appears once it is published.
Parameters
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
show_id |
int |
— | No | WordPress post ID of the show whose donations to display. Optional: defaults to the current show page or episode page's show, then the site's only show. Needed only on a multi-show site, on a page that is neither. |
limit |
int |
20
|
No | Maximum donations to display per page. Clamped to 100 — values above 100 are silently reduced. |
orderby |
string |
date_desc
|
No | Sort order. Options: date_desc (newest first), date_asc (oldest first), amount_desc (largest first), random. Unknown values fall back to date_desc. |
paged |
bool |
true
|
No | Enable query-string pagination. When true, reads ?donor_page=N and renders a Previous / Page N of M / Next nav strip. Set to false to show a single static page of results. |
format |
string |
long
|
No | Display format. long shows display_name, amount, donated_at, and note. short omits the note field. |
show_amount |
bool |
true
|
No | Set to false to omit the donation amount element from every card. Name, date, and note are unaffected. The .benecaster-donor-wall__amount span is omitted from the markup entirely (not rendered empty) when set false, same as when the row has no currency code. |
Example
<!-- Basic: donor wall for a single-show install -->
[benecaster_donor_wall]
<!-- Multi-show: explicit show ID, sorted by largest donation first -->
[benecaster_donor_wall show_id="12" orderby="amount_desc"]
<!-- Short format, no pagination, capped at 10 entries -->
[benecaster_donor_wall show_id="12" format="short" paged="false" limit="10"]
<!-- Hide the donation amount -->
[benecaster_donor_wall show_id="12" show_amount="false"]