Skip to main content

Donor Wall

The donor wall is a public thank-you display for your Listener Support donations. Place the [benecaster_donor_wall] shortcode on any page or episode template to show a browsable list of supporters — their name, donation amount, date, and (optionally) the note they left you.

Donor email addresses and internal account IDs are never included in the output.


Basic Usage

On a single-show install, the shortcode needs no attributes:

[benecaster_donor_wall]

On a multi-show install, specify which show’s donations to display:

[benecaster_donor_wall show_id="12"]

Attributes

Attribute Default Description
show_id auto WordPress post ID of the show. Optional on single-show installs; required on multi-show installs. The wall renders nothing, not even the No donations yet message, for a show that is not published (draft, scheduled, private or trashed) or an id that is not a show. A draft show can take donations; its wall appears once it is published.
limit 20 Maximum donations per page. Capped at 100.
orderby date_desc Sort order: date_desc (newest first), date_asc (oldest first), amount_desc (largest first), random.
paged true Enable paginated browsing. Reads ?donor_page=N from the URL and renders a Previous / Page N of M / Next nav strip.
format long long shows name, amount, date, and note. short omits the note.
show_amount true Set to false to omit the donation amount from every card. Name, date, and note are unaffected.

What Each Supporter Entry Shows

In long format (the default), each entry shows:

  • Display name — the name the supporter submitted, or “Anonymous” if they left it blank or opted out
  • Amount — formatted with the site’s locale settings (e.g. USD 25.00, JPY 3,000). Omitted if the donation record has no currency code. Zero-decimal currencies like JPY display without decimal places.
  • Date — the donation date, converted into your site’s timezone and formatted with your date format setting (Settings → General)
  • Note — any message the supporter included with their donation, sanitised through WordPress’s wp_kses_post

In short format, the note is omitted. Use this for a compact sidebar widget or a credits roll where space is limited.

To hide the donation amount entirely regardless of format — for example, if you’d rather thank supporters without publishing what they gave — add show_amount="false":

[benecaster_donor_wall show_id="12" show_amount="false"]

Pagination

Pagination is on by default. The shortcode renders a Previous / “Page 2 of 7” / Next strip below the list using .benecaster-donor-wall__pagination BEM classes, which you can style from your theme.

To show a single static page of results with no navigation:

[benecaster_donor_wall show_id="12" paged="false" limit="50"]

Examples

Largest donations first:

[benecaster_donor_wall show_id="12" orderby="amount_desc"]

Compact sidebar — no notes, no pagination, 5 most recent:

[benecaster_donor_wall show_id="12" format="short" paged="false" limit="5"]

Random order (re-shuffles on each page load):

[benecaster_donor_wall show_id="12" orderby="random" paged="false"]

Customizing the Output

Developers can hook three PHP filters to modify the wall without overriding templates:

See the individual filter reference pages for signatures and examples.

Card Markup

The wall’s built-in HTML is a documented, stable structure — theme CSS and the filter recipes above are free to target these class names, and a future release will not rename or restructure them without a deprecation notice:

<div class="benecaster-donor-wall" data-show="{show_id}">
  <div class="benecaster-donor-wall__item">
    <div class="benecaster-donor-wall__header">
      <span class="benecaster-donor-wall__name">{display_name or "Anonymous"}</span>
      <span class="benecaster-donor-wall__amount">{formatted amount}</span>
      <span class="benecaster-donor-wall__date">{formatted date}</span>
    </div>
    <p class="benecaster-donor-wall__note">{note}</p>
  </div>
  <!-- one .benecaster-donor-wall__item per donation row -->
</div>
  • .benecaster-donor-wall__amount is omitted from the markup entirely (not rendered empty) when the row has no currency, or when show_amount="false" is set. Custom CSS or JS that expects the span to always be present should check for it rather than assume a fixed position.
  • .benecaster-donor-wall__note only appears in format="long" (the default) and only when the donation has a note. format="short" never renders it.
  • Empty state: <div class="benecaster-donor-wall benecaster-donor-wall--empty" data-show="…"><p class="benecaster-donor-wall__empty-message">…</p></div>, replaceable wholesale via benecaster_donor_wall_empty_message.
  • Pagination strip: <nav class="benecaster-donor-wall__pagination"> containing .benecaster-donor-wall__pagination-link--prev, .benecaster-donor-wall__pagination-status, and .benecaster-donor-wall__pagination-link--next (prev/next omitted at the first/last page respectively).

Privacy Considerations

The donor wall is public — no login is required to view it. Only the information your supporters explicitly submitted (name, note) and the transaction metadata (amount, date) appears. Email addresses are never displayed. If a supporter left their display name blank or requested anonymity, they appear as “Anonymous.”

Consider whether your Listener Support page or privacy policy mentions that donations may be displayed publicly — if supporters expect a private transaction, surfacing their name and amount is a surprise worth disclosing.

See Also

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