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: Writing _benecaster_subscriber_wall_message user meta directly inside this action (via update_user_meta()) does not re-fire the action — only writes going through SupporterWallManager::set_subscriber_message() fire it. This prevents infinite loops but means bulk-clearing from a scheduled job should use the manager method if other listeners need to see the change.

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.

Classes

Class Role
SupporterWallManager Read/write supporter wall opt-in and “Why I support” message for a subscriber
SupporterWallQuery Build the opted-in roster with avatar, tier, badges, and message fields
SupporterWallController REST endpoint GET /shows/{id}/supporter-wall
SupporterWallShortcode [benecaster_supporter_wall] shortcode renderer

See Also