Skip to main content

benecaster_episode_download_tracking_enabled

Filter Free

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 →