Skip to main content

Switch Off, or Restyle, the Feed Landing Page

Free Beginner

When a person opens a valid private feed URL in a web browser (a camera-scanned QR code, a tapped email link), core serves a small landing page with one-tap app links instead of the XML. Podcast apps always get the feed.

Turn the page off for a show — for example while you investigate a podcast client you suspect is being mistaken for a browser — and every request goes back on the feed exactly as before.

To restyle it instead, copy templates/feed/landing-page.php to [theme]/benecaster/feed/landing-page.php. Variables: $show_id, $show_title, $artwork_url, $feed_url, $app_links (keys apple_podcasts, overcast, pocket_casts, castro, podcast_addict) and $protocols.

The page is rendered from the listener’s private feed URL — their credential. An override must be a complete standalone HTML document: never call wp_head() or wp_footer(), which would let analytics and tracking plugins record the URL. Put $feed_url only in the copy field and the app links, never in an http(s) link or an image src. Escape the app links with esc_url( $url, $protocols ), because a bare esc_url() strips podcast://-style schemes to an empty string. There is deliberately no filter on the page’s HTML for the same reason — it contains the listener’s token, and a filter would hand it to any plugin that asked.

Code

<?php
add_filter( 'benecaster_feed_landing_page_enabled', function ( bool $enabled, int $show_id ): bool {
    return 42 === $show_id ? false : $enabled;
}, 10, 2 );

Hooks Used

Need this built rather than just documented? See our services →