benecaster_blocks_block_render
Filters the HTML a Benecaster block or Elementor widget renders. Every block from the Blocks & Widgets Library renders by running the Benecaster shortcode it stands for; this filter receives that HTML, the block’s name, its attributes and the exact shortcode string.
Elementor widgets fire it too, under the matching block’s name — benecaster/donor-wall for the benecaster-donor-wall widget — so a callback cannot tell the two apart, and should not need to.
Only while the add-on is active. Each block also saves its shortcode string, and with the add-on removed that string renders without reaching this filter. For a change that must survive removal, use the shortcode’s own output filter. It also runs for the block editor’s preview, as the signed-in editor.
An empty $html is a real answer: the shortcode rendered nothing for this viewer — not signed in, below a minimum, no episode. Leave it empty rather than wrapping nothing. Access is never decided here; the shortcode has already decided who sees what.
Block names are benecaster/<name> — episode-player, episode-card, subscribe-cta, feed-url, qr-code, latest-episodes, subscriber-count, show-stats, pricing-table, episode-navigation, related-episodes, episode-share, social-links, platform-links, rss-link, listener-support, donor-wall. Show Stats saves two shortcodes side by side, so its $shortcode holds both.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
$html |
string |
— | What the shortcode rendered |
$block_name |
string |
— | The block's name, e.g. benecaster/episode-player |
$attributes |
array |
— | The block's attributes (or the widget's settings mapped onto them) |
$shortcode |
string |
— | The exact shortcode string that was run |
Returns:
string
Need this built rather than just documented? See our services →