It's possible to make a site totally inaccessible via feeds (RSS, Atom, RDF) with a function like this:
function itsme_disable_feed() { wp_die( __( 'No feed available, please visit the <a href="'. esc_url( home_url( '/' ) ) .'">homepage</a>!' ) );}add_action('do_feed', 'itsme_disable_feed', 1);add_action('do_feed_rdf', 'itsme_disable_feed', 1);add_action('do_feed_rss', 'itsme_disable_feed', 1);add_action('do_feed_rss2', 'itsme_disable_feed', 1);add_action('do_feed_atom', 'itsme_disable_feed', 1);add_action('do_feed_rss2_comments', 'itsme_disable_feed', 1);add_action('do_feed_atom_comments', 'itsme_disable_feed', 1);
But that disables feeds for the entire site i.e. the main feed, feeds for categories, tags, comments, posts, pages, custom post types, etc.
How do I disable just the main feed and the main comments feed of the site? i.e. only make site.com/feed/
and site.com/comments/feed/
inaccessible.
Simply hiding feed using something like this (below) isn't an option:
remove_action( 'wp_head', 'feed_links_extra', 3 );remove_action( 'wp_head', 'feed_links', 2 );