benecaster_episode_page_block_{slug}
Pattern-group filter. Fires for each enabled Episode Page block immediately after the block’s renderer callable returns HTML. The filter name is dynamic — {slug} is replaced with the block type slug as registered via benecaster_episode_page_block_types. Example filter names: benecaster_episode_page_block_share_buttons, benecaster_episode_page_block_episode_nav, benecaster_episode_page_block_related_episodes.
Built-in block slugs are context_bar, share_buttons, episode_nav, related_episodes, social_links, platform_links, listener_support, and subscribe_cta. Return an empty string to suppress the block’s output without removing it from show settings. To suppress a block before its renderer runs, remove it from the $blocks array via benecaster_episode_page_blocks instead.
For the built-in episode_nav block, this filter fires in addition to benecaster_episode_nav_output when the block is rendered via the Episode Page — not when rendered through the standalone shortcode.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
$html |
string |
— | Rendered HTML output from the block's renderer callable |
$episode_id |
int |
— | ID of the episode being rendered |
$show_id |
int |
— | ID of the show |
$config |
array |
— | Block config array for this block, from the show's episode page layout |
Returns:
string
Examples
Wrap context bar in sticky header
add_filter( 'benecaster_episode_page_block_context_bar', function( $html, $episode_id, $show_id, $config ) {
return '<div class="sticky-context-bar">' . $html . '</div>';
}, 10, 4 );
Wrap share buttons for one show
add_filter( 'benecaster_episode_page_block_share_buttons', function( string $html, int $episode_id, int $show_id, array $config ): string {
if ( $show_id !== 42 ) {
return $html;
}
return '<div class="my-custom-share-wrapper">' . $html . '</div>';
}, 10, 4 );
Suppress listener support for public episodes
add_filter( 'benecaster_episode_page_block_listener_support', function( string $html, int $episode_id, int $show_id, array $config ): string {
if ( get_post_meta( $episode_id, '_benecaster_tier_slug', true ) === 'public' ) {
return ''; // suppress for free episodes
}
return $html;
}, 10, 4 );
Notes
Returning an empty string suppresses the block's HTML output without removing it from show settings. To suppress a block earlier in the pipeline — before its renderer callable runs — remove it from the $blocks array via benecaster_episode_page_blocks. For the built-in episode_nav block, this filter fires in addition to benecaster_episode_nav_output when rendered via the Episode Page.
Affects
- EpisodePageRenderer block output
Need this built rather than just documented? See our services →