Remove a certain post type from appearing in all RSS feeds
I would like to remove all posts with a post type of nf_sub
from showing up in any RSS feeds, including comment feeds, how can I do this?
I would like to remove all posts with a post type of nf_sub
from showing up in any RSS feeds, including comment feeds, how can I do this?
Paste this in your functions.php
of the active Theme or leave it in a custom plugin. Replace your-cpt
string.
/**
* Filter the feed, exclude specific custom post type
*
* @param WP_Query object $query
* @return void
*/
function wpse_191804_pre_get_posts( $query )
{
// only for feeds
if( !$query->is_feed || !$query->is_main_query() )
return query;
$exclude = 'your-cpt';
$post_types = $query->get('post_type');
if (($key = array_search($exclude, $post_types)) !== false)
unset($post_types[$key]);
$query->set( 'post_type', $post_types );
return $query;
}
add_action( 'pre_get_posts', 'wpse_191804_pre_get_posts' );
Only actual posts appear by default in the RSS feeds. If you have other types of posts in them it is an indication that you have a plugin which is responsible for doing that and you will need to consult its author to learn how to disable the inclusion of the specific post type.
Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.