benecaster_episode_download_tracking_enabled
Filters the resolved download-tracking decision for one episode, fired after resolving the episode’s own three-state override (Inherit from show / Force on / Force off) against its show’s tracking default. Lets an add-on override the final on/off decision per episode — for example, per user role, per request, or by episode age.
There is no install-wide download-tracking switch. Tracking is a per-show default (ShowMeta::has_download_tracking_enabled()), with a per-episode override (EpisodeMeta::get_download_tracking()) that wins when set to force-on or force-off; an episode left on inherit falls back to the show default. This filter fires after both of those have already been resolved into a single boolean — a callback here has the final say, not just another vote.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
$enabled |
bool |
— | The resolved value — the episode's own override if set, otherwise the show's default. |
$episode_id |
int |
— | Episode being evaluated. |
Returns:
bool
Example
add_filter( 'benecaster_episode_download_tracking_enabled', function ( bool $enabled, int $episode_id ): bool {
// Never track downloads for episodes tagged "sponsored-preview".
if ( has_term( 'sponsored-preview', 'post_tag', $episode_id ) ) {
return false;
}
return $enabled;
}, 10, 2 );
Need this built rather than just documented? See our services →