Paste this code at the end of your child themes functions.php file. It will exclude all posts with the comma separated list of tag i.d's from displaying on the home page loop. add_action( 'pre_get_posts', 'wpsites_exclude_tag' ); function wpsites_exclude_tag( $query ) { if( $query->is_main_query() && $query->is_home() ) { $query->set( 'tag', '-46,-5,-101,-22,-122,-7,-102,-15,-104,-47,-105,-66,-43,-123'); } } Or you could use something like this: add_filter('request', 'filter_tag_loop'); function filter_tag_loop($params) { $params['tag__not_in'] = array(49); return $params; }