Dans la plupart des cas, il n’est pas pertinent de chercher dans certaines de vos pages internes avec la recherche native de WordPress. C’est le cas pour vos accueils (page d’accueil du site et page d’accueil du blog). La fonction suivante vous permet d’exclure ces pages avec le puissant filtre pre_get_posts.

function bweb_search_filter_exclude_frontpage( $query ) {
  if ( $query->is_search && $query->is_main_query() && !is_admin() ) {
    $query->set( 
		'post__not_in', 
		array( 
			get_option('page_on_front'), 
			get_option('page_for_posts') 
		) 
	); 
  }
}
add_action( 'pre_get_posts', 'bweb_search_filter_exclude_frontpage' );

Tout ce que vous avez à faire est d’ouvrir votre fichier functions.php (dans votre thème enfant) et de coller la fonction.

Article rédigé parBrice CAPOBIANCO

Autodidacte passionné par WordPress. J'aime apprendre et créer pour ensuite partager !

Coorganisateur des Meetups WordPress Rennes et fondateur de bweb.
Partager cet article

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *