Limiter les résultats de recherche à certains Custom Post Types
Cette astuce permet de filtrer les résultats de recherche aux custom post type de votre choix.
Au moins une fois, vous vous êtes certainement due vous demandé comment limiter vos résultats de recherche à certains Custom Post Type.
Heureusement, ce n’est pas très compliqué et une simple astuce va permettre de filtrer vos résultats de recherche.
Copiez le code ci-dessous dans le fichier functions.php
à la racine de votre thème :
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]
add_filter('pre_get_posts','gkp_search_filter');
function gkp_search_filter($query) {
if ($query->is_search)
$query->set('post_type',array('post','page'));
}
[/pastacode]
Vous pouvez filtrer les résultats de la recherche en changeant les valeurs du tableau présent dans $query->set()
. Actuellement, la recherche est configurée pour afficher les articles et les pages, mais vous pouvez la modifier pour faire apparaître ce que bon vous semble.
3 Commentaires
Il est aussi possible de passer le paramètre dans l’URL, exemple :
http://monsite.fr/?s=mot&post_type=job
Oui en effet et on peut aller plus loin avec la personnalisation du formulaire en ajoutant des input hidden.
Pour votre exemple, on ajoutera : <input type=”hidden” name=”post_type” value=”job” />
Je pense que je ferai un article sur cette astuce en passant par le formulaire.
je ne m’en sort pas avec ces satanés formulaires …