Afin de rendre la recherche plus performante, il est possible d’exclure des pages de la recherche.
Hook pre_get_posts
Le $query->set est entièrement malléable, on peut mettre les paramètres que l’on veut :
- Pages,
- Catégories,
- Id de posts,
- Templates,
- Custom post types…
/*** Exlcude categories ids: 12, 23 and 65**/
function my_search_filter( $query ){
if ( $query->is_search )
{
$query->set( 'category__not_in',array( 12, 23, 65 ) );
}
return $query;
}
add_filter('pre_get_posts','my_search_filter');