Skip to main content

Customizing the Supporter Wall

The Supporter Wall has multiple developer-facing seams for customizing its appearance, behavior, and content moderation. This page is an index to the relevant hooks, classes, and patterns.

Output Hooks

benecaster_supporter_wall_output — Filter the complete rendered wall HTML after assembly. Use to wrap it in additional markup, suppress it entirely, or inject count headings.

benecaster_supporter_wall_empty_message — Filter the empty-state copy shown when no subscribers have opted in. Return an empty string to suppress the message entirely.

Message Moderation

benecaster_subscriber_wall_message — Action fired after every write to a subscriber’s “Why I support” message. Use to auto-moderate flagged content, mirror messages to an external CRM, or build an audit log. See the Moderate Supporter Wall Message recipe.

Important: the action fires only for writes that go through Benecaster. Setting the message by writing user meta directly does not re-fire it. That is deliberate — it is what stops a listener that edits the message from triggering itself in a loop — but it means a scheduled job that bulk-clears messages by writing meta directly will be invisible to every other listener.

Visibility Events

benecaster_supporter_wall_enabled / benecaster_supporter_wall_disabled — Actions fired on state transitions when a podcaster enables or disables the wall for a show. Use to flush page caches that include the [benecaster_supporter_wall] shortcode output.

benecaster_subscriber_wall_visible — Action fired after every write to a subscriber’s opt-in flag. Fires even on same-value re-saves. Use for consent logging or CRM sync.

The Shortcode

The wall itself is rendered by [benecaster_supporter_wall] — see that page for every attribute, including layout, ordering, and how many supporters to show.

Styling Followers Differently from Subscribers

Every card carries an is-follower or is-subscriber class and a matching data-token-type attribute (for a token type an add-on registered, the base that type behaves like, never its own slug), and the badge wrapper inside the card carries the same class — so a theme can restyle the two without touching PHP.

The Follower chip itself (source: follower_auto on benecaster_user_badges) can be removed with a filter if you don’t want it, the same way any other badge row can be filtered out. See the Style Followers and Subscribers Differently recipe for CSS and a PHP filter example.

Filtering followers out of the wall’s rows themselves — as opposed to restyling their card — was ruled against. Followers who opt in are meant to appear on the Supporter Wall; the classes above exist so you can distinguish them, not exclude them.

See Also

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